我已经调试这段代码有一段时间了,我只是不明白为什么它不能工作。这是在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;
}

如果有人能指出这里的错误,我会很高兴的。提前谢谢!

最佳答案

你似乎对numbersresultSet有意见如果将numbers数组作为参数传递给排序函数,它就可以工作。
一些建议:
resultSet作为参数传递给swap函数,以保持实际排序的数组的一致性
不要对此类操作使用类范围的数组(这一个是有争议的,取决于您的实际任务)

07-24 09:47
查看更多