1.头文件
#include<algorithm>
2.语法描述
sort(begin,end,cmp)
对给定区间所有元素进行排序,begin
为指向数组的第一个元素,end
为指向数组的最后一个元素的下一个位置,cmp
为排序规则,默认为非降序
排序。
3.举例说明
3.1 基本类型下的sort() – 默认方式排序
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
vector<int>vec = {1,3,7,5,2};
sort(vec.begin(),vec.end());//默认非降序排列
for(auto it = vec.begin();it!=vec.end();it++)
{
cout<<*it<<"\t";
}
return 0;
}
3.2 基本类型下的sort() – 自定义方式排序
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
bool cmp(int x, int y)
{
return x > y;
}
int main()
{
vector<int>vec = { 1,3,7,5,2 };
sort(vec.begin(), vec.end(),cmp);//降序排列
for (auto it = vec.begin(); it != vec.end(); it++)
{
cout << *it << "\t";
}
getchar();
return 0;
}
3.3 基本类型下的sort() – lamda表达式自定义排序
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
vector<int>vec = { 1,3,7,5,2 };
sort(vec.begin(), vec.end(), [](int x, int y) {return x > y;});//降序排列
for (auto it = vec.begin(); it != vec.end(); it++)
{
cout << *it << "\t";
}
getchar();
return 0;
}