博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每天一道算法题(13)——使用递归颠倒栈
阅读量:5976 次
发布时间:2019-06-20

本文共 580 字,大约阅读时间需要 1 分钟。

       题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5},1 在栈顶。颠倒之后的栈为{5, 4, 3, 2, 1},5 处在栈顶

思路

        1.弹出并保存栈顶元素        2.递归,颠倒剩余的栈        3.将栈顶元素保存至栈底

代码
      
//使用递归法,逆转栈template
bool reverseStack(stack
&s){ if(!s.empty()) return false; T temp=s.top(); s.pop(); reverseStack(s); adBottom(s,temp); return true;}//某个元素,使用递归法,添加至栈底。template
void adBottom(stack
&s,T t){ if(!s.empty()) s.push(t); else{ T temp=s.top(); s.pop(); adBottom(s,t); s.push(t); }}

转载于:https://www.cnblogs.com/engineerLF/p/5393029.html

你可能感兴趣的文章
利用console控制台调试php代码
查看>>
讲解sed用法入门帖子
查看>>
Linux 内核已支持苹果
查看>>
shell脚本逻辑判断,文件目录属性判断,if,case用法
查看>>
【二叉树系列】二叉树课程大作业
查看>>
ASP.NET Core 2 学习笔记(三)中间件
查看>>
CentOS6.4_X86_64 安装Drupal-7.31必须成功版!
查看>>
驱动学习之驱动和应用的接口
查看>>
hbase region split源码分析
查看>>
MySQL备份之分库分表备份脚本
查看>>
Java 与 Netty 实现高性能高并发
查看>>
SurfControl人工智能新突破 领跑反垃圾邮件
查看>>
一个动态ACL的案例
查看>>
openstack 之 windows server 2008镜像制作
查看>>
VI快捷键攻略
查看>>
Win server 2012 R2 文件服务器--(三)配额限制
查看>>
卓越质量管理成就创新高地 中关村软件园再出发
查看>>
linux rsync 远程同步
查看>>
httpd的manual列目录漏洞
查看>>
myeclipse2014破解过程
查看>>