C++标准库学习之Maps #include<map>
C++标准库学习之Maps
原创
©著作权归作者所有:来自51CTO博客作者name_110的原创作品,请联系作者获取转载授权,否则将追究法律责任
C++ Maps是一种关联式容器,包含“关键字/值”对
1、插入一个元素:
insert()函数:
1)、插入val到pos的后面,然后返回一个指向这个元素的迭代器:
iterator insert( iterator pos, const pair<KEY_TYPE,VALUE_TYPE> &val );
2)、插入start到end的元素到map中:
void insert( input_iterator start, input_iterator end );
3)、只有在val不存在时插入val。返回值是一个指向被插入元素的迭代器和一个描述是否插入的bool值:
pair<iterator, bool> insert( const pair<KEY_TYPE,VALUE_TYPE> &val );
注:插入元素好复杂,有必要花时间研究一下。
2、删除一个元素:
erase()函数删除在pos位置的元素,或者删除在start和end之间的元素,或者删除那些值为key的所有元素。
语法:
void erase( iterator pos );
void erase( iterator start, iterator end );
size_type erase( const KEY_TYPE &key )
3、查找一个元素:
iterator find( const KEY_TYPE &key ):返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。
iterator lower_bound( const KEY_TYPE &key ):返回一个迭代器,指向map中键值>=key的第一个元素。
iterator upper_bound( const KEY_TYPE &key ):返回一个迭代器,指向map中键值>key的第一个元素。
4、iterator begin():返回一个迭代器指向map的第一个元素。
iterator end():返回一个迭代器指向map的尾部。
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
5、size_type count( const KEY_TYPE &key ):返回map中键值等于key的元素的个数。
pair equal_range( const KEY_TYPE &key ):返回两个迭代器——一个指向第一个键值为key的元素,另一个指向最后一个键值为key的元素。
6、get_allocator() 返回map的配置器 (不懂!!!适配器模式倒听说过)
key_compare key_comp():返回一个比较key的函数。(不懂)
value_compare value_comp():返回一个比较元素value的函数。
7、其他一些常用函数:
max_size() 返回可以容纳的最大元素个数
clear() 删除所有元素
empty() 如果map为空则返回true
size() 返回map中元素的个数
swap( map &obj ):交换obj和现map中的元素。
上一篇:C++标准库学习
下一篇:Linux进程与线程
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
C++之入门学习
C++入门知识详解,包括C++的命名空间域,输入输出,函数重载,引用等。
命名空间 C++输入输出 缺省参数 函数重载 C++ -
C++学习之继承
C++继承学习,包括单继承和多继承的了解,以及菱形继承出现的问题以及解决方法。
继承 虚拟继承 菱形继承 虚拟菱形继承 组合 -
C++之标准库的学习总结
一、标准库“引子”:1、操作符"<<"的原生意义是按位左移,例如:1<<2它的意义是将整数1按位左移2位,即
c++ #include 命名空间 -
(42.1)标准库之C++标准库
件都没有扩展名(.h) , 内容总共在51个标准头文件中定义...
头文件 标准模板库 程序退出 -
C++入门学习——标准模板库之map
map 是 STL 的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个
C++ 入门教程 标准模板库 STL map -
C++入门学习——标准模板库之vector
vector(向量容器),是 C++ 中十分有用一个容器。vector 之
c++ 入门教程 标准模板库 STL vector