#include <iostream>
#include <list>
using namespace std;
class Person
{
public:
Person (string name, int age, int height)
{
this->m_name = name;
this->m_age = age;
this->m_height = height;
}
string m_name;
int m_age;
int m_height;
};
bool compare (Person p1, Person p2)
{
if (p1.m_age == p2.m_age)
{
return p1.m_height > p2.m_height;
}
return p1.m_age < p2.m_age;
}
void test01()
{
Person p1("jack", 35, 175);
Person p2("tom", 36, 175);
Person p3("lisi", 36, 174);
Person p4("wangwu", 31, 175);
Person p5("heheda", 33, 171);
Person p6("zhaoyun", 32, 172);
list<Person> l;
l.push_back(p1);
l.push_back(p2);
l.push_back(p3);
l.push_back(p4);
l.push_back(p5);
l.push_back(p6);
for (list<Person>::iterator it = l.begin(); it != l.end(); it ++)
{
cout << it->m_name << " " << it->m_age << " " << it->m_height << endl;
}
cout << endl;
l.sort(compare);
for (list<Person>::iterator it = l.begin(); it != l.end(); it ++)
{
cout << it->m_name << " " << it->m_age << " " << it->m_height << endl;
}
}
//按照年龄进行升序,如果年龄相同,按照身高进行i降序
int main ()
{
test01();
return 0;
}
32、list容器=排序案例
最新推荐文章于 2024-11-08 15:01:00 发布