#include <iostream>
#include <string>
#include <vector>
#include<algorithm>
using namespace std;
class Duck
{
public:
string name;
int weight;
Duck(const string &s,int w):name(s),weight(w){}//要点1
bool operator<(const Duck &d)const
{
return weight<d.weight;
}
};
void display(vector<Duck> duck)
{
for(int i=0;i<duck.size();i++)
{
cout<<duck[i].name<<" "<<duck[i].weight<<endl;
}
cout<<endl;
}
int main()
{
vector<Duck>ducks;//2
Duck da("Daffy",8);
da.name="Daffy";//3
da.weight=8;
ducks.push_back(da);
Duck de("Dewey",2);
de.name="Dewey";
de.weight=2;
ducks.push_back(de);
Duck h("Howard",7);
h.name="Howard";
h.weight=7;
ducks.push_back(h);
Duck l("Louie",2);
l.name="Louie";
l.weight=2;
ducks.push_back(l);
Duck Do("Donald",10);
Do.name="Donald";
Do.weight=10;
ducks.push_back(Do);
Duck hu("Huey",2);
hu.name="Huey";
hu.weight=2;
ducks.push_back(hu);
cout<<"Before sorting"<<endl;
display(ducks);
cout<<"Afer sorting"<<endl;
sort(ducks.begin(),ducks.end(),less<Duck>());
display(ducks);
return 0;
}
转载请注明出处
#include <string>
#include <vector>
#include<algorithm>
using namespace std;
class Duck
{
public:
string name;
int weight;
Duck(const string &s,int w):name(s),weight(w){}//要点1
bool operator<(const Duck &d)const
{
return weight<d.weight;
}
};
void display(vector<Duck> duck)
{
for(int i=0;i<duck.size();i++)
{
cout<<duck[i].name<<" "<<duck[i].weight<<endl;
}
cout<<endl;
}
int main()
{
vector<Duck>ducks;//2
Duck da("Daffy",8);
da.name="Daffy";//3
da.weight=8;
ducks.push_back(da);
Duck de("Dewey",2);
de.name="Dewey";
de.weight=2;
ducks.push_back(de);
Duck h("Howard",7);
h.name="Howard";
h.weight=7;
ducks.push_back(h);
Duck l("Louie",2);
l.name="Louie";
l.weight=2;
ducks.push_back(l);
Duck Do("Donald",10);
Do.name="Donald";
Do.weight=10;
ducks.push_back(Do);
Duck hu("Huey",2);
hu.name="Huey";
hu.weight=2;
ducks.push_back(hu);
cout<<"Before sorting"<<endl;
display(ducks);
cout<<"Afer sorting"<<endl;
sort(ducks.begin(),ducks.end(),less<Duck>());
display(ducks);
return 0;
}
转载请注明出处