sort 函式用法

2021-10-02 21:48:59 字數 1524 閱讀 7964

sort()函式是用來排序的函式,使用時需加上標頭檔案」#include「和」using namespace std;「  其使用方式

eg:a[6]=;  sort(a,a+4);//將a[0]~a[3]從小到大排序

(1)若需要對序列進行排序,那麼序列中的元素一定要有可比性,因此需要制定比較的規則,sort的第三個可選引數就是compare函式,一般寫作cmp函式,用來實現這個規則。若比較函式不填,則預設按照從小到大的順序排序。如果想要從大到小來排序,則需要使用比較函式cmp來」告訴「sort何時要交換元素(讓元素的大小比較關係反過來)」a > b就是左大右小「

#include#includeusing namespace std;

bool cmp(int a, int b)

int main();

sort(a, a+4, cmp);

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

return 0;

}

(2)結構體陣列的排序。先按從大到小排序,但當x相等的情況下,按照y的大小從小到大來排序(即進行二級排序) 

#include#includeusing namespace std;

struct nodessd[10];

bool cmp(node a, node b)

int main()

ssd[0].y = 2;

ssd[1].x = 1; //

ssd[1].y = 3;

ssd[2].x = 2; //

ssd[2].y = 1;

sort(ssd, ssd+3, cmp);//排序

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

system("pause");

return 0;

}

(3)string排序

將string型陣列按字典序從小到大輸出

#include#include#includeusing namespace std;

int main();

sort(str, str+3);//將string型陣列按字典序從小到大輸出

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

cout << str[i] << endl;

system("pause");

return 0;

}

按字串長度從小到大排序 

#include#include#includeusing namespace std;

bool cmp(string str1, string str2)

int main();

sort(str, str+3, cmp);

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

cout << str[i] << endl;

system("pause");

return 0;

}

sort函式用法

sort函式的用法 做acm題的時候,排序是一種經常要用到的操作。如果每次都自己寫個冒泡之類的o n 2 排序,不但程式容易超時,而且浪費寶貴的比賽時間,還很有可能寫錯。stl裡面有個sort函式,可以直接對陣列排序,複雜度為n log2 n 使用這個函式,需要包含標頭檔案。這個函式可以傳兩個引數或...

sort函式用法

標頭檔案 include using namespace std 1.預設的sort函式是按公升序排序。sort a,a n 兩個引數分別為待排序陣列的首位址和尾位址 2.可以自己寫乙個cmp函式,按特定意圖進行排序。例如 1 對陣列a降序排序 int cmp const int a,const i...

Sort函式用法

sort函式為c 中中自帶的重要函式之一,作用是對陣列進行快速排序。用法如下 sort 起始位置,結束位置,判斷函式 一般來說,起始位置直接寫上要排序的陣列就行了,比如我們要排序的陣列是r,需要排序n個數,就寫成sort r,r n 可以不寫判斷函式,預設從小到大排序。需要注意的是sort預設從r ...