【发布时间】:2021-03-04 17:57:29
【问题描述】:
我想要该排序数组而不实际更改其数据。所以我只想将它的索引保存在另一个数组中。为此,我使用冒泡排序算法,并在每个交换步骤中更改新数组的元素,以保留实际数组的索引。这是我的代码,但它不能正常工作
int[] bSort(int[] arrivalTimes) {
int[] sequence = new int[arrivalTimes.length];
for (int i = 0; i < sequence.length; i++) {
sequence[i] = i;
}
for (int i = 0; i < arrivalTimes.length - 1; i++) {
for (int j = i + 1; j < arrivalTimes.length; j++) {
if (arrivalTimes[i] > arrivalTimes[j]) {
int temp = sequence[i];
sequence[i] = sequence[j];
sequence[j] = temp;
}
}
}
return sequence;
}
所以如果输入数组是 [2, 5, 1, 0, 4]
那么序列数组应该是[3, 2, 0, 4, 1](实际数组的索引)
【问题讨论】:
标签: java arrays algorithm sorting bubble-sort