当前位置:编程学习 > C/C++ >>

C++标准库学习之Maps

 

 C++标准库学习之Maps       #include<map>

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中的元素。

本文出自 “Change” 博客

 

补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,