sort算法的使用
sort算法的使用望文生义,sort是STL内置的一个排序算法,其底层是由多个排序算法的配合的使用。
[*]需要包含的头文件
#include<algorithm>
[*]使用
sort(参数1,参数2,参数3)
参数1:排序的左端点的迭代器或者地址
参数2:排序的右端点的迭代器或者地址
参数3:控制排序优先级的函数
注意:
代码例子:
[*]对数组排序
#include<iostream>#include<algorithm>using namespace std;int main(){ int a = { 1,3,7,5,32,11,45,67 }; sort(a, a + 8);//注意是a+8而不是a+7,是最后一个元素的后一位,而不是最后一个元素 for (int i = 0; i < 8; i++) { cout << a << " "; } return 0;}
[*]对容器排序,以vector为例
#include<iostream>#include<algorithm>#include<vector>using namespace std;int main(){ vector<int>arry; arry.push_back(4); arry.push_back(2); arry.push_back(23); arry.push_back(7); sort(arry.begin(), arry.end()); for (int i = 0; i < arry.size(); i++) { cout << arry << " "; } return 0;}
[*]自己写函数改变排序优先级,将从小到大--->从大到小
#include<iostream>#include<algorithm>#include<vector>using namespace std;bool cmp(int& a, int& b) { return a > b;}int main(){ vector<int>arry; arry.push_back(4); arry.push_back(2); arry.push_back(23); arry.push_back(7); sort(arry.begin(), arry.end(), cmp); for (int i = 0; i < arry.size(); i++) { cout << arry << " "; } return 0;}
页:
[1]