我想按升序对数组排序。由于某些原因,它只执行for循环一次。为什么直到一切都被排序后才会继续下去?按升序排列数组元素
这是一个任务,所以我不允许使用现有的排序方法。我应该自己写这个方法。
public class Sudoku {
public static void main(String[] args) {
int[] a = { 1, 4, 3, 5, 2 };
System.out.println(Arrays.toString(sortArray(a)));
}
public static int[] sortArray(int[] nonSortedArray) {
int[] sortedArray = new int[nonSortedArray.length];
int temp;
for (int i = 0; i < nonSortedArray.length - 1; i++) {
if (nonSortedArray[i] > nonSortedArray[i + 1]) {
temp = nonSortedArray[i];
nonSortedArray[i] = nonSortedArray[i + 1];
nonSortedArray[i + 1] = temp;
sortedArray = nonSortedArray;
}
}
return sortedArray;
}
}
- - 你的程序在哪里告诉它不止一次地执行它?该计划将只会做你告诉它做的事情。 – slim