摘要: 关联式容器每个元素都有一个键值和一个实值(set键值就是实值),关联式容器没有所谓头尾。一般而言,关联式容器的内部结构是一个平衡二叉树。二叉搜索树:任何节点的键值一定大于其左子树中的每一个节点的键值,并小于其右子树中的每个节点的键值。RB-tree(红黑树)规则:1、 每个节点不是红色就是黑色。2、 根节点为黑色。3、 如果节点为红,其子节点必须为黑。4、 任一节点至NULL的任何路径,所含之黑节点数必须相同。set,所有元素都会根据元素的键值自动被排序。set元素的键值就是实值。set不允许两个元素有相同的键值。不能通过迭代器修改set的元素值,因为set的元素值就是其键值,关系到set元素 阅读全文
posted @ 2013-05-29 14:57 绿茵飞狼 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 所谓序列式容器,其中的元素都可序的,但未必是有序。vector,与array非常相似,唯一的区别是array是静态空间,一旦配置了就不能改变;vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。普通指针可以作为vector的迭代器。为了降低空间配置时的速度成本,vector实际配置的大小可能会比客户端需求量更大一些,以备将来可能的扩充,可通过capacity方法获取容量大小。vector的所谓动态增加大小,并不是在原空间之后接续新空间(因为无法保证原空间之后尚有可供配置的空间),而是以原大小的两倍另外配置一块较大的空间,然后将原来的内容拷贝过来,然后才开始在原内容之 阅读全文
posted @ 2013-05-29 14:25 绿茵飞狼 阅读(223) 评论(0) 推荐(0) 编辑