c++ sort

1. sort函數

跟java的差不多,java的詳見java數組排序,但是c++是stl ,算法跟容器分離,所以參數是迭代器,數組的話是頭尾指針。

sort(a,a+n);

默認從小到大,如果要從大到小,定義一個比較函數返回bool即可:

bool my_greater(int i,int j){
    return i>j;
}
sort(a, a + n, my_greater);

vector的話用v.begin(),v.end()來操作。
還是挺方便的。

2. partial_sort

有時候你不想全部都排序,只要前k個元素是有序的,那麼可以用partial_sort,比如hdu的1425這題,用partial_sort的話會比sort全排要快上200ms。
三個參數,第二個傳入k位索引即可:

partial_sort(a,a+k, a + n, my_greater);

3. 其他排序

stable_sort 穩定排序。

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