1 /** 2 *选择排序(当前值与数组每一个值进行比较) 3 */ 4 public class Select 5 { 6 public static void main(String[] args) 7 { 8 simpleSelect(); 9 } 10 public static void simpleSelect(){ 11 12 int[] arr = new int[]{80,15,31,20,59}; 13 int minIndex; //记录最小值的下标 14 15 for(int i=0;i<arr.length;i++){ 16 minIndex = i; //从数组第一个数开始比较 17 for(int j=i+1;j<arr.length-1;j++){ 18 if(arr[j]<arr[minIndex]){ //此时j=i+1;minIndex=i 19 minIndex = j; //若是后一个比前一个小,记录下标,将下标j赋minIndex 20 } //最终获得最小值的下标 21 } 22 //内层一次循环结束获得当前最小值 23 int temp = arr[i]; //建立临时变量,交换值 24 arr[i] = arr[minIndex]; 25 arr[minIndex] = temp; 26 } 27 28 //获得排序后的数组,遍历输出 29 for(int p=0;p<arr.length;p++){ 30 System.out.println(arr[p]); 31 } 32 } 33 }