
栈
文章平均质量分 82
NiuBenn
这个作者很懒,什么都没留下…
展开
-
数据结构 栈和队列面试题 实现一个栈
实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值)的时间 复杂度为O(1) 实现一个栈的出栈入栈其实很简单,可是要求Min(返回最小值)的时间复杂度为O(1),就需要换个思路来思考时间复杂度为O(1),我们可以通过双栈来实现,或者说一个栈里有两个数组存放数据,一个array来存放入栈的元素,一个min来存放当前栈内最小值,入栈的时候往array和min里面同时入数据,出栈时...原创 2018-04-21 15:22:42 · 475 阅读 · 0 评论 -
数据结构 栈和队列 用两个栈实现一个队列
众所周知栈和队列是两个中不同的数据结构,栈是先入后出,队列是先入先出,虽然栈和队列有不同之处,但是他们之间也有相互的联系 两个栈实现一个队列了解一下 首先我们需要两个栈S1,S2,通过两个栈之间元素的交换从而达到先入先出的目的 所以我们对队列Queue定义为 typedef struct Queue { Stack*原创 2018-04-21 16:53:34 · 380 阅读 · 0 评论