选择排序算法
选择排序算法的核心:
每一次从参与比较的数据当中找出“最小值”,
拿着这个最小值和“参与比较的这堆最前面的元素”交换位置。
1.选择排序的代码实现
代码如下(示例):
public class SelectSort {
public static void main(String[] args) {
int[] arr = {5,8,1,4,6,2,9,7,3};
//选择排序
for (int i = 0; i < arr.length - 1; i++) {
//假设起点i下标位置上的元素是最小的。
int min = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[min]){
min = j;
}
}
if (min != i) {
int temp;
temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
}
//遍历
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]); //1,2,3,4,5,6,7,8,9
}
}
}
总结
选择排序的每次交换比冒泡排序的每次交换更有意义