关联式容器map/multimap之初始化、删除元素、交换元素及清空操作
2016-02-28 10:17
351 查看
#include <iostream> #include <map> using namespace std; typedef pair<int, double> mypair; void print(map<int, double, less<int>> &m) { map<int, double, less<int>>::iterator it; mypair tmp; if (m.size() < 0) cout << "Map is empty!" << endl; else { for (it = m.begin(); it != m.end(); it++) { tmp = *it; cout << tmp.first << ";" << tmp.second << endl; } } } void main() { map<int, double, less<int>> m1, m2; // 初始化容器 m1.insert(mypair(1, 6.0)); m1.insert(mypair(2, 13.5)); m1.insert(mypair(3, 11.3)); m1.insert(mypair(4, 13.4)); m1.insert(mypair(5, 15.1)); // 输出容器内容 cout << "m1:" << endl; print(m1); cout << "Size of m1:" << m1.size() << endl; // ------------- 容器的删除操作 ------------------------- m2 = m1; m2.erase(2); // 原型:iterator erase(iterator it); cout << "m2:" << endl; print(m2); cout << "Size of m2 after erase(2):" << m2.size() << endl; m2.erase(m2.begin());// Iterator erase(iterator first, iterator last); cout << "m2 after erase(itrator_it):" << endl; print(m2); cout << endl; // Size_type erase(const Key &key); // ------------ 容器的元素交换操作 ---------------------- /* void swap(map &str); 容器Map/Multimap还提供了元素交换函数swap()。参与交换的两个对象必须类型一致。*/ m1.swap(m2); cout << "m1:" << endl; print(m1); cout << "m2" << endl; print(m2); cout << endl; // --------------- 容器的清空操作 ----------------------- m2.clear(); cout << "m2 after clear():" << endl; print(m2); cout << "Size of m2 after clear:" << m2.size() << endl; cin.get(); }
编译结果:
相关文章推荐
- 软件开发技术分析
- 《leetCode》:Triangle
- mysql与php
- 文件IO
- 工作总结1.怎样高效跟客户确定需求?
- 利用百度云免费备份SQL数据库
- 手动操作导航控制器的子视图控制器的数组
- 手动操作导航控制器的子视图控制器的数组
- 将1234567890转换成1,234,567,890每3位用逗号隔开的形式(百度)
- 第10课:底实战详解使用Java开发Spark程序学习笔记(二)
- 《基于MFC的OpenGL编程》Part 5 Keyboard and Mouse Control
- 01_XML基础
- 手动操作导航控制器的子视图控制器的数组
- UML要点总结(一)
- Android SharedPreferences的简单封装
- 【bzoj3238】[Ahoi2013]差异 后缀数组+单调栈
- 【leetcode】Array——Remove Duplicates from Sorted Array(26)
- 【latex】如何解决投稿时页数不够的问题
- 【转】构建maven web项目
- 手机移动端WEB资源整合