从楼主书写的代码可以看出,此代码是选择排序。
1.楼主在两次循环的时候都多循环了一次,首先按照分析,外层循环1到arr.length-1次,内层循环是i+1到arr.length的循环。楼主循环都多出了一次。
2.楼主在交换的时候出现了错误。
只需将sort函数改写成。即可:
public static void Sort(int[] arr) {
for (int i = 0; i < arr.length-1; i++) {
for (int j = i+1; j < arr.length; j++) {
if (arr > arr[j]) {
int temp = arr;
arr = arr[j];
arr[j] = temp;
}
}
}
}
|