对Java的排序方法进行总结,第一种,比较简单,易理解的方法:选择排序法,顺序排列;遍历整个数组,将最大值放到数组最后面,然后将剩下的元素再遍历,再讲第二大的元素放到倒数第2位…最后将最小的元素放在数组第1位;
public class SelectionSort {
public static void main(String[] args) {
double [] doubleList = {1,9,5,1,8,2,3,7,6,4};
selectionSort(doubleList);
for (int i = 0; i < doubleList.length; i++) {
System.out.println(doubleList[i]);
}
}
public static void selectionSort(double[] list){
//第一次for循环,倒序遍历
for(int i = list.length-1;i>=1;i--){
double currentMax = list[0];
int currentMaxIndex = 0;
//第二次for循环,顺序遍历,获取最大值
for (int j = 0; j < i; j++) {
if (currentMax<list[j]) {
currentMax = list[j];
currentMaxIndex =j;
}
}
//如果最大值的下标不为i,则将最大值放最后,将当前值放最大值位置处;
if (currentMaxIndex!=i) {
list[currentMaxIndex] = list[i];
list[i] =currentMax;
}
}
}
}