sort()和stable_sort()用法

C ++ sort()與stable_sort()

 (2012-04-03 10:07:30)
標籤: 

it

分類: Cpp學習

這兩個函數的原理都是快速排序,時間複雜度在所有排序中最低,爲O(nlog2n) ;

sort的應用

1、可以傳入兩個參數;

     sort(a,a+N) ,其中a是數組,a+N表示對a[0]至a[N-1]的N個數進行排序(默認從小到大排序);

2、傳入三個參數;

     sort(a,a+N,cmp),第三個參數是一個函數 ;

     如果讓函數從大到小排序,可以用如下算法實現;

      bool cmp(int a,int b){return a>b};

      sort(A,A+N,cmp);

stable_sort的用法與sort一致,區別是stable_sort函數遇到兩個數相等時,不對其交換順序;這個應用在數組裏面不受影響,當函數參數傳入的是結構體時,會發現兩者之間的明顯區別;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章