a[k++] = l[i++] 表示法是什么意思
What does a[k++] = l[i++] notation mean
我正在尝试找出用于合并排序的合并函数,但我不理解 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++];
}
}
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);
OUTPUT: 4 6
与
相同
a[k] = l[i];
k = k + 1;
i = i + 1;
print(k);
print(i);
OUTPUT: 4 6
我正在尝试找出用于合并排序的合并函数,但我不理解 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++];
}
}
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);
OUTPUT: 4 6
与
相同a[k] = l[i];
k = k + 1;
i = i + 1;
print(k);
print(i);
OUTPUT: 4 6