[c++] map使用简述

2021/4/29 12:25:13

本文主要是介绍[c++] map使用简述,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

功能:提供一对一的hash键值对处理

原理:自建一颗红黑树

使用:

    头文件<map>

    插入:

  1. // 定义一个map对象

  2. map<int, string> mapStudent;

  3.  
  4. // 第一种 用insert函數插入pair

  5. mapStudent.insert(pair<int, string>(000, "student_zero"));

  6.  
  7. // 第二种 用insert函数插入value_type数据

  8. mapStudent.insert(map<int, string>::value_type(001, "student_one"));

  9.  
  10. // 第三种 用"array"方式插入

  11. mapStudent[123] = "student_first";

  12. mapStudent[456] = "student_second";

    查找:

  1. // find 返回迭代器指向当前查找元素的位置否则返回map::end()位置

  2. iter = mapStudent.find("123");

  3.  
  4. if(iter != mapStudent.end())

  5. cout<<"Find, the value is"<<iter->second<<endl;

  6. else

  7. cout<<"Do not Find"<<endl;

    删除:

        

  1. iter = mapStudent.find("123");

  2. mapStudent.erase(iter);

  3.  
  4. //用关键字刪除

  5. int n = mapStudent.erase("123"); //如果刪除了會返回1,否則返回0

  6.  
  7. //用迭代器范围刪除 : 把整个map清空

  8. mapStudent.erase(mapStudent.begin(), mapStudent.end());

  9. //等同于mapStudent.clear()

   其它:

        

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++] map使用简述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程