选择排序
选择排序是一种简单又直观的排序算法,他第一次会从头扫描至尾,然后找到一个最小或者最大的数,和第一个元素交换,然后,再从剩下的元素中找到最小或者最大的数,和第二个元素交换,依次类推,每次有序数列的长度就会加一,直到数组中的前边N-1个数全部排列好后,该数组也就有序了。
例子:
下面是选择排序的代码:
public class SelectSort {
public static void selectSort(int[] arr){
if(arr == null || arr.length < 2){
return;
}
for (int i = 0;i < arr.length - 1;i++){
int minIndex = i;
for (int j = i + 1;j < arr.length;j++){
minIndex = arr[j] < arr[minIndex] ? j : minIndex;
}
swap(arr,i,minIndex);
}
}
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}