class MM{
public static void main(String[] args){
stack sta=new stack(10);
// sta.push(1);
// sta.show();
// sta.pop();
// sta.show();
boolean loop=true;
Scanner scan=new Scanner(System.in);
while (loop){
System.out.println("show:显示数据");
System.out.println("push:添加数据");
System.out.println("pop:抛出数据");
System.out.println("exit:退出");
String str=scan.next();
switch(str){
case "show":
sta.show();break;
case "push":
System.out.println("请输入数字");
int strInt=scan.nextInt();
sta.push(strInt);break;
case "pop":
sta.pop();break;
case "exit":
loop=false;
break;
default:{
System.out.println("请输入有效数据");
break;
}
}
}
}
}
class stack{
private int top;
private int maxSize;
private int[] arr;
public stack(int maxSize) {
this.top = -1;
this.maxSize = maxSize;
this.arr = new int[this.maxSize];
}
public void push(int n){
if(top>=maxSize-1){
System.out.println("栈满不能添加");
return;
}
top++;
arr[top]=n;
}
public void pop(){
if(top<0){
System.out.println("栈空没有数据,不能抛出");
return;
}
top--;
}
public void show(){
if(top<0){
System.out.println("栈空,没有数据");
return;
}
for(int i=top;i>=0;i--){
System.out.println(arr[i]);
}
}
}
使用数组模拟栈
最新推荐文章于 2024-07-19 15:45:46 发布