欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

蓝桥:算法训练 数组逆序排列

程序员文章站 2022-06-12 12:46:58
...

蓝桥:算法训练 数组逆序排列

蓝桥:算法训练 数组逆序排列
此题运用栈


import java.util.Stack;//java中使用栈结构需要运用这个语句

public class 栈 {
	public static void main(String[] args){
		Stack<Integer> st=new Stack<>();//Stack<>里面写准备把哪个东西放进去
		st.push(11);
		st.push(22);
		//st.pop();//java里面的pop是把对象给移除之后把返回值返回给我们
		int x;//可以写个x
		x=st.pop();
		System.out.println(x);
		//pop正常干的事情就是弹栈,把弹栈元素作为返回值拿出来,碰到不正常就是栈空了还要弹这事就不正常,所以java就弹出异常
		//如果不想出现异常,可以提前去看看这个栈是不是空的
		st.empty();
		st.size();//栈的大小
		st.capacity();//栈的容量
		//st.top;java中没有top,但是并不是没有而是换了一个单词
		st.peek();//看一看栈顶元素,但不去移除
	}
}

这是最后的程序

import java.util.Scanner;
import java.util.Stack;

public class 数组逆序排序 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		Stack<Integer> st=new Stack<Integer>();//创建Integer类型的栈结构
		for(int i=0;i<20;i++){
			int n=sc.nextInt();//一个个输入
			if(n==0){//若为0则跳出循环
				break;//跳出循环
			}else{
				st.push(n);//进栈
			}	
		}
		while(!st.empty()){//当栈顶不是空的时候
			if(st.size()>1){//判断是否为最后一个元素
				System.out.print(st.pop()+" ");//如果不是最后一个元素则输出数字和空格
			}else{
				System.out.print(st.pop());
			}
		}
	}
}




相关标签: 蓝桥