選擇排序之直接選擇排序,選擇排序

來源:互聯網
上載者:User

選擇排序之直接選擇排序,選擇排序

         今天大鵬哥跟大家一起學習下選擇排序中的直接選擇排序方法。

直接選擇排序(Straight SelectSort)也是一種簡單的排序方法,他的基本思想是:第一次從R[0]-R[n-1]中選取最小值,與R[0]交換,第二次從R[1]-R[n-1]中選取最小值,與R[1]交換,。。。總共通過n-1次交換,得到一個按排序碼從大到小排列的有序序列。

Java實現代碼如下:

 

public class StraightSelectSort {

 

    public static void main(String[] args) {

       // TODO Auto-generatedmethod stub

       int[] a={49,38,65,97,76,13,27,49};

       int i,j,index;

       System.out.print("排序前:");

       for(int x:a){

           System.out.print(x+",");

       }

       for(i=0;i<a.length;i++){

           index=i;

           for(j=i+1;j<a.length;j++){

              if(a[j]<a[index])

                  index=j;

              if(i!=index){

                  int tmp = a[i];

                  a[i]=a[index];

                  a[index]=tmp;

              }

           }

       }

       System.out.print("排序後:");

       for(int x:a){

           System.out.print(x+",");

       }

    }

 

}

無論序列初始狀態如何,在第i趟排序中選出關鍵字最大、最小的記錄,都需要做n-i次比較,因此,總的比較次數為:n(n-1)/2=O(n^2)。

 


簡單選擇排序與直接選擇排序有什不同?

就是叫法不一樣,其實兩者完全一致
 
直接選擇排序C語言(補充直接選擇排序)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.