#include <map> #include <iostream>using namespace Std;class person{public:int age;int ID; person (int age, int id) {This->age = Age;this->id = ID;}}; struct Cmpbykey {bool operator () (const person * k1, const person * K2) {return K1->age < k2->age; } }; Map<person *, int, cmpbykey> imap;int main () {person * pperson;for (int i = ten; i > 0; i--) {Pperson = new person ( I, I); Imap.insert (Pair<person *, int> (Pperson, i));} Map<person *,int, Cmpbykey>::iterator ibegin = Imap.begin (); Map<person *,int, Cmpbykey>::iterator iEnd = Imap.end (); while (ibegin! = iend) {cout<<ibegin->first->id << ":"; cout << ibegin->first- >age << endl;ibegin++;} cout<< "####################" <<endl;pperson = new Person (1, ten);p Air<map<person *, int, cmpbykey> :: iterator, bool> insert_pair;insert_pair = Imap.insert (Pair<person *, int> (Pperson)); if (Insert_ Pair.second = = true) {Cout<<" Insert successfully "<<endl; } else {cout<< "Insert Failure" <<endl; }ibegin = Imap.begin (); while (ibegin! = iend) {cout<<ibegin->first->id << ":"; cout << ibegin- >first->age<<endl;ibegin++;}}
C + + Map