java经典算法之选择排序

 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 }
相关文章
相关标签/搜索