/*选择排序思想是遍历一遍数组,数组中的每一个元素与他后面的所有元素比较,找到比他小的了就换位置
* 这样遍历完成后就是正确的排序了
* */
public class SelectionSort {
public static void main(String[] args) {
// TODO 自动生成的方法存根
double[] list = {1,9,4.5,6.6,5.7,-4.5};
selectionSort(list);
for(int i=0;i<list.length;i++)
System.out.println(list[i]);
}
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变量,并且记下它的位置k
currentMin = list[j];
currentMinIndex = j;
}
}
if(currentMinIndex != i) { //如果不等也就是该元素的后面有比它更小的元素,如果相等就是该元素已经是后面最小的元素了
list[currentMinIndex] = list[i]; //这两行实现了交换
list[i] = currentMin;
}
}
}
}
选择排序

最新推荐文章于 2024-09-02 10:55:27 发布
