我是 Java 初学者,目前正在阅读一本名为 Introduction to Java Programming 的书。在第 276 页上,有一个对数组进行选择排序的示例。我坐在这里试图解决几个小时,但我就是不明白。我知道这段代码是按升序对数组进行排序,但如果有人能更详细地解释代码的不同部分是什么,我将不胜感激做的正是。
double[] list = { 1, 9, 4.5, 6.6, 5.7, -4.5 };
SelectionSort.selectionSort(list);
public class SelectionSort {
public static void selectionSort(double[] list) {
for (int i = 0; i < list.length - 1; i++) {
double currentMin = list[i];
int currentMinIndex = i;
for (int j = i + 1; j < list.length; j++) {
if (currentMin > list[j]) {
currentMin = list[j];
currentMinIndex = j;
}
}
if (currentMinIndex != i) {
list[currentMinIndex] = list[i];
list[i] = currentMin;
}
}
}
}