c++ STL map

2020-12-13 16:50

阅读:526

标签:它的   int   empty   value   allocator   元素   指定元素   删除   oca   

转自https://www.cnblogs.com/fnlingnzb-learner/p/5833051.html

1、map简介

map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。

对于迭代器来说,可以修改实值,而不能修改key。

2.使用

例如,mapint,string> personnel;         //建立一种映射关系,  int指向string

这样就定义了一个用int作为索引,并拥有相关联的指向string的指针.

3.从map中删除元素

 移除某个map中某个条目用erase()

该成员方法的定义如下:

iterator erase(iterator it);//通过一个条目对象删除

iterator erase(iterator first,iterator last)//删除一个范围

size_type erase(const Key&key);//通过关键字删除

clear()就相当于enumMap.erase(enumMap.begin(),enumMap.end());

下面在例子中详细说明它们的用法

  1.  //如果要删除1,用迭代器删除  
  2.   
  3.        mapint, string>::iterator iter;  
  •   
  •        iter = mapStudent.find(1);  
  •   
  •        mapStudent.erase(iter);  
  •   
  •        //如果要删除1,用关键字删除  
  •   
  •        int n = mapStudent.erase(1);//如果删除了会返回1,否则返回0  
  •   
  •        //用迭代器,成片的删除  
  •   
  •        //一下代码把整个map清空  
  •   
  •        mapStudent.erase( mapStudent.begin(), mapStudent.end() );  
  •   
  •        //成片删除要注意的是,也是STL的特性,删除区间是一个前闭后开的集合  
  • 4.map中的swap用法

    map中的swap不是一个容器中的元素交换,而是两个容器所有元素的交换。

    5.排序 ·  map中的sort问题

    map中的元素是自动按Key升序排序,所以不能对map用sort函数;

    6.map的一些基本操作

    map的基本操作函数:

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

         begin()         返回指向map头部的迭代器

         clear()        删除所有元素

         count()         返回指定元素出现的次数

         empty()         如果map为空则返回true

         end()           返回指向map末尾的迭代器

         equal_range()   返回特殊条目的迭代器对

         erase()         删除一个元素

         find()          查找一个元素

         get_allocator() 返回map的配置器

         insert()        插入元素

         key_comp()      返回比较元素key的函数

         lower_bound()   返回键值>=给定元素的第一个位置

         max_size()      返回可以容纳的最大元素个数

         rbegin()        返回一个指向map尾部的逆向迭代器

         rend()          返回一个指向map头部的逆向迭代器

         size()          返回map中元素的个数

         swap()           交换两个map

         upper_bound()    返回键值>给定元素的第一个位置

         value_comp()     返回比较元素value的函数

     

     

    c++ STL map

    标签:它的   int   empty   value   allocator   元素   指定元素   删除   oca   

    原文地址:https://www.cnblogs.com/QingyuYYYYY/p/11621708.html


    评论


    亲,登录后才可以留言!