赞
踩
感谢黑马先生!
//对人的年龄进行升序排列,年龄相同对身高进行降序排列,年龄身高相同对体重升序排列 #include <iostream> #include <list> #include <string> using namespace std; class Person { public: Person( string Name, int Age,int Heigh,int weight) { this->m_Name = Name; this->m_Age = Age; this->m_Heigh = Heigh; this->m_weight = weight; } string m_Name; int m_Age; int m_Heigh; int m_weight; }; bool Compare(Person& p1, Person& p2) { if (p1.m_Age == p2.m_Age) { if (p1.m_Heigh == p2.m_Heigh) { return p1.m_weight < p2.m_weight; } else { return p1.m_Heigh > p2.m_Heigh; } } else { return p1.m_Age < p2.m_Age; } } void test01() { list<Person> l; Person p1 = { "张飞", 23, 170 ,74}; Person p2 = { "关羽", 23, 170 ,80}; Person p3 = { "赵云", 23, 180 ,78}; Person p4 = { "刘备", 25, 199 ,90}; l.push_back(p1); l.push_back(p2); l.push_back(p3); l.push_back(p4); cout << "-----------------------" << endl; for (list<Person>::iterator i = l.begin(); i != l.end(); i++) { cout << "姓名:" << i->m_Name << " " << "年龄:" << i->m_Age << " " << "身高:" << i->m_Heigh << "体重:" << i->m_weight <<endl; } cout << "-----------------------" << endl; l.sort(Compare); for (list<Person>::iterator i = l.begin(); i != l.end(); i++) { cout << "姓名:" << i->m_Name << " " << "年龄:" << i->m_Age << " " << "身高:" << i->m_Heigh << "体重:" << i->m_weight << endl; } } int main() { test01(); return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。