JAVA之選擇排序

選擇排序基本思想:從數列第一位開始,遍歷之後的所有剩餘元素,找出其中最小的一個放到第一位,接下來再從第二位開始,找出數組中第二小的數,以此類推進行排序。

案例:

   public static void main(String[] args) {
        int a [] = {4,10,1,9};
        int c []= chooseSort(a);
        for (int i = 0; i < c.length; i++) {
            System.out.print(c[i]+"  ");
        }
    }
    private static int[] chooseSort(int[] a) {
        int minIndex = 0;
        for (int i=0;i<a.length-1;i++){
            minIndex = i;
            for(int j=i+1;j<a.length;j++){
                if(a[minIndex]>a[j]){
                    minIndex  = j;
                }
            }
            if(minIndex != i){
                int temp = a[i];
                a[i] = a[minIndex];
                a[minIndex] = temp;
            }
        }
        return  a;
    }

流程分析:

數組:int a [] = {4,10,1,9};

---------------------------------------------------------------------------------------------

第一趟排序 : 

排序前數據 :4  10   1   9

數據中1是最小,放到首位,即4和1進行交換

排序結果:1   10  4   9

---------------------------------------------------------------------------------------------

第二趟排序 : 

排序前數據 :1  10   4   9

數據中4是最小,4和10進行交換

排序結果:1   4  10   9

---------------------------------------------------------------------------------------------

第三趟排序 : 

排序前數據 :1   4  10   9

數據中9是最小,10和9進行交換

排序結果:1  4  9  10  

---------------------------------------------------------------------------------------------

總結:只是簡單的總結一下選擇排序。望路過的大神們多多指導指導。謝謝!!!


發佈了62 篇原創文章 · 獲贊 43 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章