int main() { set<Student> stuset; stuset.insert(Student("zhangsan",22)); //默认为升序 会自动调用<操作符重载 stuset.insert(Student("lisi",52)); stuset.insert(Student("wangwu",48)); // set<Student,less<Student>>stuset1; // stuset1.insert(Student("zhangsan",22)); //升序会自动调用<操作符重载 // stuset1.insert(Student("lisi",52)); // stuset1.insert(Student("wangwu",48)); // set<Student,greater<Student>>stuset2; // stuset2.insert(Student("zhangsan",22)); //降序会自动调用>操作符重载 // stuset2.insert(Student("lisi",52)); // stuset2.insert(Student("wangwu",48)); // set<Student>::iterator it = stuset.begin(); //ok 遍历 // for(;it!=stuset.end();it++) // it->showStu(); for_each(stuset.begin(),stuset.end(),show); // for_each(stuset1.begin(),stuset1.end(),show); // for_each(stuset2.begin(),stuset2.end(),show); }
int main() { set<Student> stuset; stuset.insert(Student("zhangsan",22)); //默认为升序 会自动调用<操作符重载 stuset.insert(Student("lisi",52)); stuset.insert(Student("wangwu",48)); //插入 vector<Student>stuvec; stuvec.push_back(Student("lisi",22)); stuvec.push_back(Student("xiaoli",22)); stuvec.push_back(Student("xiaowu",22)); stuset.insert(stuvec.begin(),stuvec.end()); //插入另一个容器的范围 pair<set<Student>::iterator,bool> pr = stuset.insert(Student("yixiaop",22)); if(pr.second) { cout<<"insert"<<endl; pr.first->showStu(); } else cout<<"not insert"<<endl; for_each(stuset.begin(),stuset.end(),show); }
int i= stuset.count(Student("zhangsan",22));//判断值是否存在 if(i>0) { cout<<"have the value"<<endl; } else cout<<"not have the value"<<endl; 查找与删除 // int n = stuset.erase(Student("zhangsan",0)); // if(n>0) // cout<<"erase ok"<<endl; // else // cout<<"erase error"<<endl; // for_each(stuset.begin(),stuset.end(),show); // cout<<"__________________"<<endl; // stuset.erase(++stuset.begin(),stuset.end()); stuset.erase(stuset.begin()); for_each(stuset.begin(),stuset.end(),show); } #endif