STL_map
来源:互联网 发布:古典音乐入门书籍 知乎 编辑:程序博客网 时间:2024/05/21 11:31
基本概念
将key/value当作元素,进行管理。它们可根据key的排序准则自动将元素排序,要修改元素的key必须先删除拥有该key的元素,然后插入拥有新的key/value的元素。
构造函数
map m:创建空映射,不包含任何元素
map m(op):以op为排序准则,产生一个空的map
map m1(m2):复制c2中的元素到c1中
map m(const value_type first, const value_type last):复制[first, last)之间元素构成新映射
map m(const value_type first, const value_type last,op):以op为排序准则,复制[first, last)之间元素构成新映射。
成员函数
1.int size() const:返回容器元素个数
2.bool empty() const:判断容器是否空,若返回true,表明容器已空。
3.insert函数
iterator insert(const value_type& x):插入元素xiterator insert(iterator it,const value_type& x):在迭代指针it处插入元素xvoid insert(const value_type *first,const value_type* last):插入[first, last)之间元素
4.erase函数
iterator erase(iterator it):删除迭代指针it处元素iterator erase(iterator first,iterator last):删除[first, last)之间元素size_type erase(const Key& key):删除键值等于key的元素
5.iterator begin():返回首元素的迭代器指针
6.iterator end():返回尾元素的迭代器指针
- int count(const Key& key) const:返回键值等于key的元素的个数
8.const_iterator find(const Key& key) const:查找功能,返回键值等于key的迭代器指针 - void swap(set& s):交换但映射元素
- void swap(multiset& s):交换多映射元素
应用实例
#include "stdafx.h" #include <iostream> #include <map> using namespace std; bool fncomp (char lhs, char rhs) {return lhs<rhs;} struct classcomp { bool operator() (const char& lhs, const char& rhs) const {return lhs<rhs;} }; int main () { map<char,int> first; first['a']=10; first['b']=30; first['c']=50; first['d']=70; map<char,int> second (first.begin(),first.end()); map<char,int> third (second); map<char,int,classcomp> fourth; // class as Compare bool(*fn_pt)(char,char) = fncomp; map<char,int,bool(*)(char,char)> fifth (fn_pt); // function pointer as Compare return 0; }
#include "stdafx.h" #include <iostream> #include <map> using namespace std; int main () { map<char,int> mymap; map<char,int>::iterator it; mymap['a'] = 10; mymap['b'] = 20; mymap['c'] = 30; mymap['d'] = 40; mymap['e'] = 50; mymap.insert(pair<char,int>('f',60)); cout<<"initial mymap contains :\n"; for (it = mymap.begin();it!= mymap.end();it++) { cout<<it->first<<"=>"<<it->second<<'\n'; } it = mymap.find('b'); mymap.erase(it); mymap.erase('c'); it = mymap.find('e'); mymap.erase(it,mymap.end()); cout<<"now mymap contains :\n"; for (it = mymap.begin();it!= mymap.end();it++) { cout<<it->first<<"=>"<<it->second<<'\n'; } return 0; }
0 0
- STL_map
- STL_map
- STL_MAP
- STL_map
- STL_map
- STL_map用法
- stl_map.h
- STL_map操作
- STL_map用法
- STL_MAP容器常用操作
- stl_map,set 用法
- STL_Map用法详解
- poj2503-Babelfish-STL_map
- 《STL源码剖析》-- stl_map.h
- STL_map——map::begin
- STL_map——map::clear
- STL_map——map::count
- STL_map——map::empty
- 根据一份web.xml文件来详解Servlet
- mac上Ruby环境安装教程
- jQuery Mobile 入门
- 第50课:HadoopMapReduce倒排索引解析与实战
- 数据库分表
- STL_map
- 退出键盘
- 修改url中参数的值
- MATLAB BP神经网络中仿真结果与手工计算不符合的解决办法
- Scala 学习
- Android学习资料整理
- 页面加载时创建iframe
- event.keyCode|| event.which
- Android学习心得第二课