#include
#include
#include
class Employee {
public:
Employee () {}
Employee (const string& name) : _name(name) {}
void set_salary(int salary) {_salary = salary; }
int Salary() const { return _salary; }
void set_name(const string& name) { _name = name; }
const string& name() const { return _name;}
private:
int _salary;
string _name;
};
bool lessThan(pair<string, Employee *> &l,pair<string, Employee *> &r)
{
return (___1___);
}
int main()
{
(___2___) employees; /* 定义映射map /
string name("alon");
Employee emp = new Employee(name);
emp->set_salary(3300);
employees[name]=emp;
string name2="dafna";
Employee* emp2 = new Employee(name2);
emp2->set_salary(10000);
employees[name2]=emp2;
string name3="eyal";
Employee* emp3 = new Employee(name3);
emp3->set_salary(5000);
employees[name3]=emp3;
string name4="nurit";
Employee* emp4 = new Employee(name4);
emp4->set_salary(6750);
employees[name4]=emp4;
(___3___) employeeVec;//定义向量vector存储pair对数据
copy( employees.begin(), employees.end(),back_inserter( employeeVec ) );//将employees map中的数据复制到
//employeeVec vector中
(___4___) it;//定义向量迭代器
for ( it = employeeVec.begin(); it != employeeVec.end(); ++it ) {
cout << (___5___)->name() << " " << (___6___)->Salary() << endl;
}
cout<<"-----sorting------"<<endl;
sort( (___7___) );//对向量中的元素进行排序
for ( it = employeeVec.begin(); it != employeeVec.end(); ++it ) {
cout << (___8___)<< " " <<(___9___)<< endl;}
return 0;
}