选择排序算法思想:
对于一个待排序的数组,先遍历一遍数组,选出最小(最大)的元素放在第一位,继续遍历剩余的数组,选出此时最小(最大)的元素,重复这个过程,直到整个数组排好。
Java代码实现:
public class selectSort {
//选择排序
public static void selectsort(int[] arr){
if(arr == null || arr.length < 2){
System.out.println("此数组不能排序!");
return;
}
//遍历数组,依次在每一个位置找到最新的的最小值
for(int i = 0; i < arr.length; i++){
//假设剩下的第一个元素为最小值
int minIndex = i;
//遍历之后的元素,与当前minIndex相比,更小的值的下标作为新的minIndex
for(int j = i + 1; j < arr.length; j++){
if(arr[minIndex] > arr[j]){
minIndex = j;
}
}
//将找的最小值交换到i位置
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
//主方法
public static void main(String[] args){
int[] arr = {2,6,1,2,5,7,4};
selectsort(arr);
System.out.println(Arrays.toString(arr));
}
}
以上内容为个人学习总结,如有错误,欢迎指正。