我已经调试这段代码一段时间了,我就是想不通为什么它不起作用。这是在 Java 中实现顺序插入排序的尝试。
public void resultSort(int[] resultSet){
int j;
for(int i = 0; i < resultSet.length; i++){
j = i;
while(j > 0 && resultSet[j-1] < resultSet[j]){
swap(j, j-1);
j = j-1;
}
}
}
public void swap(int index1, int index2){
int sw = numbers[index1];
numbers[index1] = numbers[index2];
numbers[index2] = sw;
}
如果有人能指出这里的错误,我会很高兴。提前致谢!
最佳答案
您似乎对 numbers
与 resultSet
有问题。如果您将 numbers
数组作为参数传递给您的排序函数,它可以工作。
一些建议:
- 将您的
resultSet
作为参数传递给您的swap
函数,以保持您实际排序的数组的一致性 - 避免将类范围数组用于此类操作(这是有争议的,取决于您的实际任务)
关于java - 损坏的插入排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21767188/