关联容器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)的主要内容,如果未能解决你的问题,请参考以下文章
C++ 关联容器set | map | multiset | multimap