使用STL进行排序,首先要引入两个头文件
#include<algorithm>
#include<vector>
STL排序针对的数据结构可以是向量。向量的声明过程是这样的:
vector<int> odd,even;
往向量里插入元素,用下面这种语法:
odd.push_back(1);
要让向量按照从小到大或者从大到小排序,基本上只需要一句话:
//从大到小排列
sort(odd.begin(),odd.end(),greater<int>());
//从小到大排列
sort(even.begin(),even.end());
这里的greater<int>()
是函数模板。可以自己定义。例如为你的自定义类型定义一个比较规则。将该规则用在排序中。
排序完成后,遍历向量,输出排序结果
for_each(odd.begin(),odd.end(),print);
for_each(even.begin(),even.end(),print);
//print函数
void print(int i)
{
cout<<i<<" ";
}