![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法题目
文章平均质量分 57
流动的水行走的人
这个作者很懒,什么都没留下…
展开
-
如何仅用递归函数和栈操作逆序一个栈
如何仅用递归函数和栈操作逆序一个栈问题描述:问题分析:代码实现: 问题描述: 现给一个栈,请仅使用递归函数和栈操作逆序该栈,不可使用其他数据结构! 问题分析: 假设现在栈中数据为5-4-3-2-1(栈顶至栈底,下文若无特殊说明,都为栈顶至栈底),我要将这个栈逆序,使其中数据变为1-2-3-4-5;那么首先push进栈的应该为5,其次是4,其次3,其次2,最后是1。 现在知道了目标栈的插入顺序,那么该进行流程的设计,插入的顺序为5,4,3,2,1,有人会说,这还不简单:我连递归函数都不用写,直接将原创 2021-04-18 01:23:46 · 1167 阅读 · 0 评论 -
用两个栈实现队列,支持队列的基本操作(add、poll、peek)
两个栈实现队列基本原理:能够导致顺序错误的问题==A数据导入B时,B中仍有数据== 基本原理: 现有两个栈,栈A、栈B。我们都知道栈的顺序的是先进后出,而队列是先进先出。先将数存在A中,再从A读取到B中,用户最终是从B中读取存的数据。比如:要将1-2-3-4-5保存在队列中,那么最终读取的顺序应该也是1-2-3-4-5。先存放在A中,A是栈所以读取的顺序为5-4-3-2-1,5-4-3-2-1又逐一存放在栈B中,所以最终读取顺序就为1-2-3-4-5。 能够导致顺序错误的问题 - ## A数据导入B后A原创 2021-04-16 17:45:02 · 532 阅读 · 0 评论