博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STL模板整理 map
阅读量:6828 次
发布时间:2019-06-26

本文共 1459 字,大约阅读时间需要 4 分钟。

map容器:

继上一篇 ,Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。至于二叉树这种数据结构,本人暂时没有任何了解。在map这个容器中,提供一种“键- 值”关系的一对一的数据存储能力。其“键”在容器中不可重复,且按一定顺序排列,至于怎么排列,那么红黑树这种数据结构的特性了。

       KEY           VALUE

  x1  <---------> y1

键 x2  <---------> y2    值

  x3  <---------> y3

#include 
#include
using namespace std;int main() { map
m1 = {
{ 3, "guangzhou" }, { 2, "shenzhen" }, { 1, "changsha" } };//实例化一个map容器,内含三组数据 /* begin() 返回指向map头部的迭代器 clear() 删除所有元素 count() 返回指定元素出现的次数 empty() 如果map为空则返回true end() 返回指向map末尾的下一个迭代器 erase() 删除一个元素 find() 查找一个元素 insert() 插入元素 max_size() 返回可以容纳的最大元素个数 size() 返回map中元素的个数 swap() 交换两个map rbegin() 反向迭代器,指向最后一个迭代器 rend() 指向map头结点的前一个迭代器 */ map
::iterator itor = m1.begin(); for( ; itor != m1.end(); itor++) cout << itor->first << " " << itor->second << endl; //以数组的方式插入数据; /*for(int i = 1; i < 5; i++) { string s; cin>>s; m1[i] = s; } cout << " 插入数据后:" << endl; itor = m1.begin(); for( ; itor != m1.end(); itor++) cout << itor->first << " " << itor->second << endl; */ return 0;}

 

转载于:https://www.cnblogs.com/GHzz/p/8663438.html

你可能感兴趣的文章