[k++]=l[i++]表示法是什么意思

ckx4rj1h  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(628)

我试图找出这个merge sort的merge函数,但是我不理解a[k++]=l[i++]行。有人能给我一个非简化版的吗?

public static void merge(int[] a, int[] l, int[] r, int left, int right) {

    int i = 0, j = 0, k = 0;
    while (i < left && j < right) {
        if (l[i] <= r[j]) {
            a[k++] = l[i++];
        }
        else {
            a[k++] = r[j++];
        }
    }
    while (i < left) {
        a[k++] = l[i++];
    }
    while (j < right) {
        a[k++] = r[j++];
    }
}
w8rqjzmb

w8rqjzmb1#

a[k++] = l[i++];

与相同

a[k] = l[i];
k = k + 1;
i = i + 1;

假设 k = 3 以及 i = 5 .

a[k++] = l[i++];
print(k);
print(i);

输出:4 6
与相同

a[k] = l[i];
k = k + 1;
i = i + 1;
print(k);
print(i);

输出:4 6

相关问题