c++ stl sort example

时间:2021-03-19 23:43:27

c++ stl sort函数使用举例:

 #include <iostream>
#include<vector>
#include<algorithm>
#include<functional> using namespace std; class MyClass
{
public:
MyClass(int a,int b):first(a),second(b){}
int first;
int second;
bool operator <(const MyClass &m)const
{
return first<m.first;//重写“<”
}
}; bool LessSecond(const MyClass &m1,const MyClass &m2)
{
return m1.second<m2.second;
} int main()
{
vector<MyClass> vecMyclass;
int i=;
for(i=;i<=;i++)
{
MyClass m(-i,i*);
vecMyclass.push_back(m);
}
cout<<"before sort is:"<<endl;
for(i=;i<vecMyclass.size();i++)
cout<<vecMyclass[i].first<<","<<vecMyclass[i].second<<endl;
cout<<"after sort by first is:"<<endl;
sort(vecMyclass.begin(),vecMyclass.end());
for(i=;i<vecMyclass.size();i++)
cout<<vecMyclass[i].first<<","<<vecMyclass[i].second<<endl;
sort(vecMyclass.begin(),vecMyclass.end(),LessSecond);
cout<<"after sort by second is:"<<endl;
for(i=;i<vecMyclass.size();i++)
cout<<vecMyclass[i].first<<","<<vecMyclass[i].second<<endl;
return ;
}

共勉。