动图演示
使用场景:适用于大多数排序,数据量大效率明显优于冒泡
java代码实现
import java.util.Arrays;/*** 选择排序*/
public class SelectSort {private static int[] selectSort(int[] arr) {if (arr==null||arr.length<2){return arr;}//控制循环次数,最后一个元素不用选择for (int i = 0; i <arr.length-1 ; i++) {//临时变量int temp=0;//最小值下标, 默认第一个最小int minIndex=i;for (int j = i+1; j <arr.length ; j++) {if(arr[j]<arr[minIndex]){minIndex=j;}}temp = arr[minIndex];arr[minIndex] = arr[i];arr[i] = temp;}return arr;}public static void main(String[] args) {int[] arr={5,0,10,8,6,13,9,7,12,4};System.out.println("排序前:"+ Arrays.toString(arr));int[] sort = selectSort(arr);System.out.println("排序后:"+Arrays.toString(sort));}
}