● 升序:sort(begin,end,less<data-type>())
●降序:sort(begin,end,greater<data-type>())
默认为升序
int b[5] = { 1,5,2,3,7 };
sort(b,b+5, greater<int>());
for (int i = 0; i < 5; i++)
{
cout << b[i];
}
或是自行编写比较方法:
bool cmp(int a, int b) {
return a > b;
}
int main()
{
int a[3] = { 1,3,2 };
sort(a, a + 3,cmp);
for (int i = 0; i < 3; i++)
{
cout << a[i];
}
}
同时也对字符串string起作用:
string sen;
sen = "asfhaslsankca";
sort(sen.begin(), sen.end());
cout << sen;
对vector的二维字符串数组:
vector<string> ssaw;
ssaw.push_back("heiiiiiiwho is you");
ssaw.push_back("wwwwwww");
ssaw.push_back("qwdqad");
sort(ssaw.begin(), ssaw.end(), greater<string>());
for (int i = 0; i < 3; i++)
{
cout << ssaw[i];
}
但遗憾的是,暂时没能找到sort直接对char类型的二维数组进行排序的方案。
所以暂时只能自行编写sort函数或是将其转换为其他类型的数组进行排序。