用递归操作逆序栈---递归
来源:互联网 发布:魔音软件男变女 编辑:程序博客网 时间:2024/05/20 23:32
一个栈依次压入1,2,3,4,5那么从栈顶到栈底分别为5,4,3,2,1。
将这个栈转置后,从栈顶到栈底为1,2,3,4,5,也就是实现了栈中元素的逆序,请设计一个算法实现逆序栈的操作,
但是只能用递归函数来实现,而不能用另外的数据结构。
给定栈的大小n和一个栈Stack,请返回逆序后的栈。
测试样例:
5
1 2 3 4 5
返回:
5 4 3 2 1
public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int a[]=new int[n]; for(int i=0;i<n;i++){ a[i]=sc.nextInt(); } sc.close(); reverse(a,n); for(int i=0;i<n;i++){ System.out.print(a[i]+" "); } } //第一步,将最上面的数出栈保存,然后将下面的栈逆序(这里用到递归); //第二步,将原先最上面的数插到最底层 public static int[] reverse(int a[],int n){ if(n==1){ return a; } int tmp=a[0]; for(int i=0;i<n-1;i++){//集体左移 a[i]=a[i+1]; } a[n-1]=tmp;//栈顶存放最小元素 a=reverse(a,--n); return a; }}
阅读全文
0 0
- 用递归操作逆序栈---递归
- 用递归函数和栈操作逆序栈(递归)
- C++ 递归操作逆序栈
- 仅用递归函数和栈操作逆序一个栈
- 用递归函数和栈操作逆序栈
- 在线编程--用递归函数和栈操作逆序栈
- 仅用递归函数和栈操作逆序一个栈
- 如何实现用递归函数和栈操作逆序栈
- 用递归函数和栈操作逆序一个栈
- 仅用递归函数和栈操作逆序一个栈
- 用递归函数和栈操作逆序一个栈
- 用递归函数和栈操作逆序栈
- 递归逆序
- 如何使用递归函数和栈操作逆序一个栈
- 栈和队列之仅用递归函数和栈操作逆序一个栈
- 栈和队列(3)--如何仅用递归函数和栈操作逆序一个栈
- 1栈和队列--仅用递归函数和栈操作逆序一个栈
- 栈和队列之仅用递归函数和栈操作逆序一个栈
- [WebGIS] ArcGIS api for javascript3.21版本加载天地图
- 动态规划之背包问题
- iptables (一)
- Springboot定时任务
- static变量只初始化一次
- 用递归操作逆序栈---递归
- IPC通信机制
- Nagios (一)
- Linux 下如何迁移home
- 什么是类的反射机制?
- Python对xml进行内容筛选
- java语言的相关介绍及环境变量配置
- Zabbix (一)
- 工厂函数、构造函数和回调函数