C++标准库学习之Maps

2014-11-24 12:55:05 · 作者: · 浏览: 0

C++标准库学习之Maps #include

C++ Maps是一种关联式容器,包含“关键字/值”对

1、插入一个元素:

insert()函数:

1)、插入val到pos的后面,然后返回一个指向这个元素的迭代器:

iterator insert( iterator pos, const pair &val );

2)、插入start到end的元素到map中:

void insert( input_iterator start, input_iterator end );

3)、只有在val不存在时插入val。返回值是一个指向被插入元素的迭代器和一个描述是否插入的bool值:

pair insert( const pair &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中的元素。

本文出自 “Change” 博客