栈
heda3
从事嵌入式开发10年+,国内某一流研究所的研究生,新一代信息技术工程师职称,申请撰写发明专利15项/授权8项,发表中英文期刊2篇。目前从事嵌入式系统、算法开发及管理,持续分享嵌入式驱动、操作系统、上位机软件、算法等开发过程中遇到的问题、解决方法及知识点
展开
-
27.用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解法:思路:1)一个栈负责压栈2)压入栈1的数出栈到栈2中3)栈2负责出栈class Solution{public: void push(int node) { stack1.push(node); } int pop...原创 2019-02-07 10:21:35 · 110 阅读 · 0 评论 -
29、栈的压入、弹出序列
题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)解题思路:入栈的顺序如第一个序列。栈的弹出顺序有多种。让弹出栈的元素和...原创 2019-02-07 16:49:48 · 129 阅读 · 0 评论 -
28.包含min函数的栈
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。分析问题:1、新建一个暂存变量存储最小值,但是当把栈中的最小的元素出栈后,剩下的栈中的最小元素将不知道2、除了最小元素保存,还要保存次小的元素,以此类推,每一次比较的最小结果都要保存。为此:1)新建一个辅助栈保存每次进栈的最小元素2)出栈时,同时把辅助栈顶返回即...原创 2019-02-07 12:58:22 · 116 阅读 · 0 评论 -
数据结构之栈
栈:只允许在表尾进行插入和删除的线性表 后进先出(Last In First Out)LIFO结构(注意:线性表的存储方式分为顺序存储和链式存储)操作方式:1)进栈栈的压入,也称压栈、入栈 push2)出栈栈的删除 pop其中进栈出栈有多种变化方式:例如可以同时入栈123再出栈,也可以单个入再单个出例如入1出1再继续栈的存储方式:顺序存储缺点:...原创 2019-02-06 20:10:45 · 182 阅读 · 0 评论