STL中map的使用
2014-03-05 18:33
253 查看
#include <iostream> #include <map> using namespace std; class Student { public: string name; int age; string id; public: Student(string n, int a, string i):name(n),age(a),id(i){} /* 作为map中的key,必须可以比较大小 */ friend bool operator < (const Student & s1, const Student & s2) { return s1.id.compare(s2.id) < 0; } }; int main(int argc, char ** argv) { Student s1("tianbei", 19, "1143111147"); Student s2("zhangruoyu", 19, "1143111146"); Student s3("qizhenghao", 19, "1143111145"); map<Student, int> sMap; /* 插入元素 */ sMap.insert(std::make_pair(s1, 19)); sMap.insert(std::make_pair(s2, 59)); sMap.insert(std::make_pair(s3, 59)); /* 删除元素 */ map<Student, int>::iterator iter = sMap.begin(); for(; iter != sMap.end() ;) { if(iter->first.id.compare("1143111147") == 0) sMap.erase(iter++); else iter++; } /* 循环输出内容 */ for(iter = sMap.begin(); iter != sMap.end(); iter++) { Student s = iter->first; cout << s.name.c_str() << " " << s.id.c_str() << " " << s.age << " " << iter->second << endl; } return 0; }
相关文章推荐
- Cart项目的开发记录,关于Unity制作者独立开发流程。
- servlet,RMI,webservice之间的区别
- ora-00922
- 06-IOSCore - KVC、CoreData
- Android消息推送
- pureftp安装
- 软件测试与代码规范总结
- 字符点阵在LCD上显示
- tomcat8热部署文件上传
- 精妙的Morris二叉树遍历算法
- Flex dataGrid实现数据过滤
- 双dir-600m进行wds连接后的问题
- 我的新博客
- linux shell脚本基础知识
- 既然已经决定了方向,那就别再彷徨
- 空行255列数据导出问题
- hdu1166(线段树)
- 【学习笔记】〖九度OJ〗题目1437:To Fill or Not to Fill
- STM32 TIMER2的使用
- Javascript 数组