摘要: List vector在STL中是一个双向链表,它的内部结构和vector 或 deque截然不同。主要有以下几点:1.List不支持随机存取。list没有提供下标操作符和at()的访问。2.任何位置执行元素的安插和移除都很快,都在常数时间内完成。3.当安插和删除动作的时候不会产生内存重新分配的情况。相对vector和deque来说不会发生由于安插和移除元素带来的引用、指针和迭代器的失效。List 也没必要提供空间 内存重新分配的函数。4.List也提供了不少特殊的函数,用于移动元素。如c.unique() 、c.splice(,,) 、 c.merge(). 阅读全文
posted @ 2013-07-27 22:04 onlycxue 阅读(342) 评论(0) 推荐(0) 编辑
摘要: deque (全名 double ended queue)是一种具有队列和栈一样的数据结构。在c++标准库中几乎和vector容器的接口完全相同,但它和vector 还是有一些细微的差别。1. deque 容器在头和尾都可已进行插入和移除,而vector只能在尾部显威风。2.deque不支持对容量和内存的重新分配机制,除了头尾两端在任何地方安插或删除元素都将导致指向重新分配内存,不过deque的内存重分配的效率高于vector。3.deque的内存不在使用时会被释放。deque的内存大小是可以缩减的。deque和vector的共同特性。1.在中部安插和移除元素的速度相对比较慢,因为所有的元素都 阅读全文
posted @ 2013-07-27 20:29 onlycxue 阅读(678) 评论(0) 推荐(0) 编辑