C sort函式使用方法

2021-10-20 19:20:45 字數 1147 閱讀 9552

1.sort函式包含在標頭檔案為#include的c++標準庫中,呼叫標準庫里的排序方法可以實現對資料的排序,但是sort函式是如何實現的,我們不用考慮!

2.sort函式的模板有三個引數:

void sort (randomaccessiterator first, randomaccessiterator last, compare comp);
(3)第三個引數comp是排序的方法:可以是從公升序也可是降序。如果第三個引數不寫,則預設的排序方法是從小到大排序。

3.例項

sort第三個引數不進行設定預設進行的是從小到大的排序。

#include#includeusing namespace std;

main()

;  sort(a,a+10);

for(int i=0;i<10;i++)

cout《這裡可以看到是sort(a,a+10),但是陣列a一共只有9個元素,為什麼是a+10而不是a+9呢?

因為sort方法實際上最後一位位址對應的數是不取的,

而且vector,set,map這些容器的end()取出來的值實際上並不是最後乙個值,而end的前乙個才是最後乙個值!

需要用prev(***.end()),才能取出容器中最後乙個元素。

如果第三個引數進行設定,可以實現從大到小的排序,例如以下例子,自定義第三個引數,實現從大到小排序。

#include#includeusing namespace std;

bool cmp(int a,int b);

main();

sort(a,a+10,cmp);

for(int i=0;i<10;i++)

cout}

#include

#include

#include

#include

#include

using namespace std;

int cmp

(char a,char b)

char map[

300]

;int main()

C sort 排序函式使用方法

1 sort函式可以三個引數也可以兩個引數,必須的標頭檔案 include algorithm 和using namespace std 2 它使用的排序方法是類似於快排的方法,時間複雜度為n log2 n 3 sort函式有三個引數 第三個引數可不寫 1 第乙個是要排序的陣列的起始位址。2 第二個...

C sort函式使用總結

標頭檔案 algorithm 對於 整數 字元 陣列進行比較時,可直接通過sort a,a n 或sort a.begin a.end 進行排序,預設公升序排列,須要高速實現降序時,有三種方案 1.反轉公升序陣列 reserve函式 2.反向迭代sort a.rend a.rbegin 3.借助c ...

c sort函式的使用

需要標頭檔案 語法描述 sort begin,end,cmp cmp引數可以沒有,如果沒有預設非降序排序。1.以int為例的基本資料型別的sort使用 include include includeusing namespace std int main 預設公升序 sort a,a 5 for i...