关联容器map(红黑树,key/value)

Posted 多情剑客无情剑;

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关联容器map(红黑树,key/value)相关的知识,希望对你有一定的参考价值。

 

 

 

字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。在程序设计中,字符串(string)为符号或数值的一个连续序列,字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的,如s=“abcdefghij”,则s[1]=“a”,s[10]="j"

//线性序列,里面只存了一个元素,map存的是键值对

vector  [2,3,4,5]   操作,插入删除  查找效率

list  [1->2->3->4->5]  操作,插入删除效率高, 查找低

双端队列 [2,3,4,9,11,22,33] 操作,头尾插入删除效率高,查找高

 

串 s = “a1 a2 a3 a4 a5”

 

 


#include <iostream> #include <ctime> #include <map> #include<algorithm> using namespace std; typedef struct itemstruct{ int a; char b[20]; }itemS; itemS s[4]={{98,"what"}, {88, "hello"}, {98,"world"}, {77, "c++"} }; int main() { map<string,itemS> mymap; string str[4] = {"1st","2nd","3rd","4th"}; for(int i = 0; i<4; i++) { //first是Key, second是value; mymap.insert(make_pair(str[i], s[i])); } map<string,itemS>::iterator it; for(it = mymap.begin(); it!=mymap.end(); it++) { //first是Key, second是value; cout<<it->first<<" "<<it->second.a<<" "<<it->second.b<<endl; } map<string,itemS>::iterator iter; iter = mymap.find("4th"); cout << iter->second.b; /*查找map中是否包含某个关键字条目用find()方法, 返回数据所在位置的迭代器 传入的参数是要查找的key*/ return 0; }

 

 

以上是关于关联容器map(红黑树,key/value)的主要内容,如果未能解决你的问题,请参考以下文章

STL之Map和multimap容器

STL--map学习笔记

C++ 关联容器set | map | multiset | multimap

手撕STLmap和set

[C/C++]详解STL容器9-基于红黑树模拟实现map和set

[C/C++]详解STL容器9-基于红黑树模拟实现map和set