Brains


Algorithm、Machine Learning、Search、cloud computing
on Cplusplus, STL 队列和栈的学习和使用

STL - deque、queue、stack

最近在刷LeetCode,一直在用C实现上面的算法。但经常遇到题目,需要维护动态二维数组,需要队列、栈、map等数据结构时,用C实现时,需要很长的时间来完成这些数据结构的原型。无奈为了提高效率(偷懒~)决定转型C++解决上面的题目。 std::deque 类的原型 template < class T, class Alloc = allocator<T> > class deque; 它位于deque文件中,先看看它的类的声明。class Alloc = allocator 这句话什么鬼?这可能要涉及到STL六大要素之分配器了,先跳过,以后涉及到再学。 概述 deque是C++的基本容器之一,即双端队列,它可以在两端进行插入和删除操作。不同的库可能有不同的实现方式,但通常以动态数组实现的,deque中的元素存储在不同的chunks。 deque提供的函数与vector相似,但对于在两端的插入和删除操作要比vector更有效率。还有需要注意的是,不像vector,
Read More