java - a[k++] = l[i++] 表示法是什么意思
问题描述
我试图找出合并排序的合并函数,但我不明白 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);
输出:4 6
是相同的
a[k] = l[i];
k = k + 1;
i = i + 1;
print(k);
print(i);
输出:4 6
推荐阅读
- javascript - 将 ImageBitmap 转换为 Blob
- java - 使用 Wikipedia API (Mediawiki API) 返回特定类别
- c - 如何将 __FUNCTION__ 添加到系统日志中
- r - 使用 glmmTMB 对计数数据建模时出现错误和警告
- laravel - 自动加载/显示 Laravel 视图文件
- django - Django 上 IntegerFields 的默认范围是多少?
- java - JavaFX 如何拖放图像
- reactjs - 开玩笑——编写测试描述的正确方法
- java - Java - 如何同步和并行调用返回字符串的函数?
- react-native - React Native Expo FacebookAds 在 IOS 顶部有额外空间