LeetCode专题 堆栈和队列

堆栈和队列都是动态数据结构,支持删除操作。在堆栈里,删除的是最新加入的元素,最后加入的,先出去,所以叫做后进先出原则(LIFO, last in, first out)。叫做堆栈的原因就是,堆栈数据机构就像是堆叠的文件,或者一堆货品,你不把上面的,也就是后放进去的东西挪走,你就没办法去挪走下面的,也就是先放进来的东西。堆栈在显示生活中很常见,你桌子堆的一堆文件,就像是一个堆栈。

而队列的删除原则是先删除最早加入的元素,先加入的,先出去,所以叫做先进先出原则(FIFO, first in, first out)。现实生活中的种种排队其实就是队列,先到先得。

堆栈

堆栈的插入操作往往叫做压栈(进栈,入栈,Push), 把数据放在堆栈的顶部。而删除操作往往叫做出栈(Pop),把堆栈顶部的数据返回并删除。

下图是一个简单的Java用数组来保存数据的Stack代码:

堆栈相关题目

队列

队列的插入操作一般叫做进队(Enqueue),把数据插入到队尾。删除操作一般叫做出队(Dequeue),返回队尾的元素并删除。

下图是一个简单的Java用数组来保存数据的Queue代码:

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据