首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

STL之六:地图/multi地图用法详解

2013-01-28 
STL之六:map/multimap用法详解map/multimap使用map/multimap之前要加入头文件#includemap,map和multimap

STL之六:map/multimap用法详解
map/multimap    

使用map/multimap之前要加入头文件#include<map>,map和multimap将key/value当作元素,进行管理。它们可根据key的排序准则自动将元素排序。multimap允许重复元素,map不允许重复元素。

STL之六:地图/multi地图用法详解

map和multimap内部的数据结构也是平衡二叉树。

STL之六:地图/multi地图用法详解

    map和multimap根据元素的key自动对元素进行排序,要修改元素的key必须先删除拥有该key的元素,然后插入拥有新的key/value的元素。

常用函数1.构造函数和析构函数    

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)之间元素构成新映射。

m.~set()销毁所有元素,释放内存

multimap mm:创建空映射,不包含任何元素

multimap mm(op):以op为排序准则,产生一个空的multimap

multimap m1(m2):复制m2中的元素到m1中

multimap m(const value_type *first, const value_type* last):复制[first, last)之间元素构成新映射

multimap m(const value_type *first, const value_type* last,op):以op为排序准则,复制[first, last)之间元素构成新映射

m.~multimap()销毁所有元素,释放内存



4.遍历函数    

    iterator begin():返回首元素的迭代器指针

    iterator end():返回尾元素的迭代器指针

    reverse_iterator rbegin():返回尾元素的逆向迭代器指针

    reverse_iterator rend():返回首元素前一个位置的迭代器指针

5.操作函数   
    const_iterator lower_bound(const Key& key):返回键值大于等于key的迭代器指针    const_iterator upper_bound(const Key& key):返回键值大于key的迭代器指针    int count(const Key& key) const:返回键值等于key的元素的个数    pair<const_iterator,const_iterator> equal_range(const Key& key) const:返回容器中键值等于key的迭代指针[first, last)    const_iterator find(const Key& key) const:查找功能,返回键值等于key的迭代器指针    void swap(set& s):交换但映射元素    void swap(multiset& s):交换多映射元素  
6.特殊函数

    reference operator[](const Key& k):仅在但映射map类中,可以以数组的形式给映射添加键-值对,并可返回值的引用。


热点排行