摘要:
最近在看STL,其中讲到容器这一部分的时候,有以下两个式子,有点疑惑: 式子原本的含义都是要定义一个容器,容器的内容从标准输入获取。 这里主要分析下两个式子产生这种区别的原因: 1、式子(1),我们知道,c++中定义一个变量可以是: 注意上面几种形式,尤其是第三种形式是理解上述两个式子区别的关键。 阅读全文
摘要:
C++提供了很多可供程序员使用的容器: 标准STL序列容器:vector,string,deque和list 标准STL关联容器:set,multiset,map和multimap 非标准序列容器slist(单链表)和rope(重型字符串) 非标准关联容器hash_set,hash_multiset 阅读全文
摘要:
红黑树都是在进行插入和删除时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。红黑树追求的时局部平衡而不是AVL树中的非常严格的平衡。 所谓红黑树,不仅是一个二叉搜索树,而且必须满足一下规则: 1、每个节点不是红色就是黑色。 2、根节点为黑色。 3、如果节点为红色,其子节点必须为黑色。 4、 阅读全文
摘要:
插入:vector的迭代器在内存重新分配时将失效(它所指向的元素在该操作的前后不再相同)。当把超过capacity()-size()个元素插入vector中时,内存会重新分配,所有的迭代器都将失效;删除:当进行删除操作后,指向删除点及其后面元素的迭代器全部失效。 建议:使用vector时,用reve 阅读全文
摘要:
容器、算法、迭代器、仿函数、配接器、配置器。 容器 就是各种数据结构。STL容器是一种class template。 算法 各种常见的算法。 迭代器 扮演算法和容器中的胶合剂,是“泛型指针”。所有的STL容器均有自己的专属的迭代器。 仿函数 做算法的某种策略。仿函数是一种重载了operator()的 阅读全文