八大排序相对应链接
基本操作:
第一次从arr[0到]arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]到arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]到arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]arr[n-1]中选取最小值,与arr[i-1]交换,…, 第n-1次从arr[n-2]~arr[n-1]中选取最小值,与arr[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。
import java.util.Arrays; public class SelectSort { public static void main(String[] args) { int[] a = new int[] {1,4,2,5,5,6,2,4,}; sort(a); System.out.println(Arrays.toString(a)); } public static void sort(int[] arr) { for(int i=0;i<arr.length;i++) { int min = arr[i];//相当于定义一个临时结点 int minIndex = i;//记录最小值位置 for(int j=i+1;j<arr.length;j++) { if(min>arr[j]) { minIndex=j; min=arr[j]; } } arr[minIndex]=arr[i]; arr[i] = min; } } }