栈和队列

队列是先进先出,栈是后进先出。

栈和队列是STL(C++标准库)里面的两个数据结构,不同版本的STL这两个数据结构的实现存在区别。

栈和队列不提供迭代器,所以无法通过迭代器对其进行遍历。所以STL中栈和队列往往不被归类为容器。而栈的内部结构可以是vector、deque或者list均是可以的,主要就是数组和链表的底层实现。如果没有指定,栈和队列通常是用deque实现的,deque是双向队列,两端都是开口的,只要封住一段,另一端开口即可实现栈的逻辑。

232.用栈实现队列:这是一道模拟题,可以用两个List集合来模拟队列后进先出的特性即可实现。

225.用队列实现栈:和232题不同,225不需要两个List来模拟队列,只需要一个List即可实现队列的功能。

20.有效的括号:这题梦回Deagle。低配版deagle,几种情况只要考虑清楚就很简单。

1047.删除字符串中所有相邻的重复项:这道题可以用栈的思想,新的一个要添加进栈的元素如果和栈顶元素相同,则不添加新元素,且将栈顶元素出栈。如果和栈顶元素不相同则将要添加的元素进栈即可。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务