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 ...