蓝桥:算法训练 数组逆序排列
程序员文章站
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());
}
}
}
}
上一篇: 蓝桥 BASIC-17 矩阵乘法
下一篇: 我拖拖拖--H5拖放API基础篇