02 2017 档案
摘要:8.1 配接器之概观与分类 function adapter:改变仿函数(functors)接口; container adapter:改变容器(container)接口; iterator adapter:改变迭代器(iterator)接口。 8.1.1 container adapters STL提供的两个容器queue和stack,都是修饰容器deque接口的container ada...
阅读全文
摘要:7.1 仿函数概观 仿函数在调用者可以像函数一样地被调用,在被调用者则以对象所定义的function call operator扮演函数的实质角色。 就实现观点而言,仿函数其实就是一个“行为类似函数”的对象。为了能够“行为类似函数”,其类别定义中必须自定义function call运算子(operator()),拥有这样的运算子之后,我们就可以在仿函数的对象后面加上一对小括号,以此调用仿函数所定...
阅读全文
摘要:5.7 hushtable 5.7.1 hushtable概述 开链:在每一个表格元素中维护一个list;hash function为我们分配某一个list,然后我们在那个list身上执行元素的插入、搜寻、删除等操作。 5.7.3 hashtable的迭代器 template struct __hushtable_iterator{ typedef hashtable hashtab...
阅读全文
摘要:5.3 set 所有元素都会根据元素的键值自动被排序,set元素的键值就是实际值,实际值就是键值,set不允许两个元素有相同的键值; 因为set元素的值就是其键值,关系到set元素的排列规则,所以set的迭代器是constant iterator; 对set进行insert或erase操作,其迭代器在操作后仍然有效(这点和list相同); 标准STL的set是以RB-tree为底层机制的,几乎...
阅读全文
摘要:关联式容器,每个元素都有一个键值(key)和一个实值(value)。 当元素被插入到关联式容器中时,容器内部结构便依照其键值大小,以某种特定规则将这个元素放置于适当位置。关联式容器没有所谓头尾,所以也不会有所谓push_back()、push_front()等操作。 关联式容器的内部结构是一个balanced binary tree(平衡二叉树),以便获得良好的搜寻效率。balanced bina...
阅读全文
摘要:4.7 heap(隐式表述:implicit representation) 4.7.1 heap概述 binary max heap作为priority queue的底层机制,原因是: binary heap:完全二叉树的结构可以保证整棵树没有节点漏洞,用array来表示这棵树的时候,只需要从array[1]开始保存(#0元素设为无限大或无限小),那么位于array第i个的节点,其左子节点就...
阅读全文

浙公网安备 33010602011771号