这是我的计划的一部分:为什么我的选择将数组按顺序排序?
private static int[] array = {5, 2, 3, 1, 4, 7, 8, 6, 10, 9};
private static void selectionSort(int arr[])
{
for (int i = 0; i < arr.length - 1; i++)
{
int index = i;
for (int j = i + 1; j < arr.length; j++)
{
if (arr[j] < arr[index])
{
index = j;
}
int smallerNumber = arr[index];
arr[index] = arr[i];
arr[i] = smallerNumber;
}
}
for (int i = 0; i < arr.length; i++)
{
System.out.print(arr[i]);
}
}
我试图理清所有号码的秩序。它是印刷如下:
1 3 2 5 4 6 7 8 9 10
我不明白为什么有些数字是为了,而其他人不是。任何人都可以协助吗?
请将最后一个'for'语句移到第一个以外,以便按照您的预期进行编译。然后,你在调试器中逐步运行你的代码时发现了什么? – Savior