关联容器map(红黑树,key/value),以及所有的STL容器详解

字符串或串(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; }

 

原文地址:https://www.cnblogs.com/cs-lcy/p/7224691.html