首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
栈来专题
剑指offer:用两个栈来实现一个队列
题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路: stack1用来入队列,stack2用来出队列。每当有元素入队列时,直接入stack1;如果要出队列,首先判断stack2是否为空,如果不是,直接弹出stack2栈顶元素,如果是空栈,先将stack1中元素全部弹出到stack2,然后弹出stack2栈顶元素。 补充背景知识:stac
阅读更多...
使用栈来模拟递归过程
使用栈来模拟递归过程 一.为什么要学习递归与非递归的转换的实现方法? 1)并不是每一门语言都支持递归的. 2)有助于理解递归的本质. 3)有助于理解栈,树等数据结构. 二.预先知识 1)《数据结构》栈,二叉树,树的相关知识 2)对递归有明确的认识 三.图的深度优先搜索 最近写有关图的算法,首先写的便是基础中的基础,深度优先与
阅读更多...
利用栈来实现算术表达式求值
通过修改完善教材中的算法3.4,利用栈来实现算术表达式求值的算法。对算法3.4中调用的几个函数要给出其实现过程: (1) 函数In©:判断c是否为运算符; (2) 函数Precede(t1,t2):判断运算符t1和t2的优先级; (3) 函数Operate(a,theta,b):对a和b进行二元运算theta。 程序运行时,输入合法的算术表达式(中间值及最终结果要在0~9之间,可以包括加减乘除和括
阅读更多...