
stl
dancing_night
不积跬步无以至千里,qq联系方式:821486004
展开
-
STL之list/vector/deque
学习备忘录: 总体分类: 标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器: slist和rope。slist是一个单向链表,rope本质上是一个重型字符串。非标准关联容器: hash_set、hash_multiset、hash_map和hash_multimap。转载 2015-01-27 16:58:09 · 749 阅读 · 0 评论 -
std::vector
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。 为了可以使用vector,必须在你的头文件中包含下面的代码: #include vector属于std命名域的,因此需要通过命名限转载 2015-01-27 16:43:55 · 754 阅读 · 0 评论 -
std::list
list是一个双向链表,因此它的函数也都要从链表的角度来进行理解,它需要额外的内存开销。list相对vector等容器来说,它的优点是,能在任意位置,快速的插入和删除一个元素(常数时间)。如果总是在容器的末尾插入元素,那用vector会更快。list快速插入的优势是在容器比较大的时候才能体现出来的。 list 是线性表,但非排序表(即有内置的排序规则),而set、map等是排序表。 定义:原创 2015-01-27 11:47:04 · 1104 阅读 · 0 评论 -
std::map
std::map tmpMap; tmpMap.insert(make_pair(1, 11)); tmpMap.insert(make_pair(2, 12)); tmpMap.insert(make_pair(1, 5)); 上面这段代码执行后是什么结果呢?没错1,5插入失败。为什么会失败?看看下面一段代码: _Pairib _Linsert(_Nodeptr _Node, b原创 2015-01-29 09:19:47 · 1049 阅读 · 0 评论 -
map在insert数据后红黑树结构变化
下面这段测试代码 std::map tmpMap; pair ::iterator, bool> tmp = tmpMap.insert(make_pair(1, 11)); tmp = tmpMap.insert(make_pair(2, 12)); tmp = tmpMap.insert(make_pair(3, 13)); tmp = tmpMap.insert(make_pair原创 2015-01-30 14:40:31 · 935 阅读 · 0 评论