标签:
之前一篇博文(《初窥标准库》)简单了解了一种最常用的顺序容器:vector类型。本文将对该文内容进行进一步的学习和完善,继续讨论标准库提供的顺序容器类型。所谓顺序容器,即将单一类型的元素聚集起来成为容器,并根据位置来存储和访问这些元素。标准库定义了三种顺序容器类型:vector,list和deque(double-ended queue双端队列)。同时还提供了三种顺序容器适配器(adaptor):stack,queue,priority_queue。
顺序容器 | vector | 支持快速随机访存 |
list | 支持快速插入/删除 | |
deque | 双端队列 | |
顺序容器适配器 | stack | 后进先出栈 |
queue | 先进先出队列 | |
priority_queue | 有优先管理的队列 |
顺序容器的定义及迭代器
1 vector< vector<string> > liens; //ok 2 vector < vector<string>> lines; //error:>>treated as shift operator
1 vector<int>::iterator mid = iv.begin() + iv.size()/2; 2 vecor<int>::iterator iter = iv.begin(); 3 while (iter != mid) 4 if (*iter == someVal) 5 iv.insert(iter, 2*someVal); 6 7 vector<int>::iterator iter = iv.begin(); 8 while (iter != iv.begin() + iv.size()/2) 9 { 10 if (*iter == someVal) 11 { 12 iter = iv.insert(iter, 2*someVal); 13 iter += 2; 14 } 15 else 16 ++iter; 17 }
顺序容器的操作
vector容器的自增长
容器的选用
标签:
原文地址:http://www.cnblogs.com/huashu/p/4269430.html