package alo;
import java.util.Scanner;
public class 栈_ArrayStack {
public static void main(String[] args) {
UnStack stack=new UnStack(3);
Scanner input=new Scanner(System.in);
boolean judge=true;
while(judge){
switch (input.nextLine()){
case "push"->stack.push(input.nextInt());
case "pop" ->stack.pop();
case "show" ->stack.show();
case "exit" ->judge=false;
}
}
System.out.println("退出成功");
}
}
class UnStack{
int[] arrayStack;
int top=-1;
int bottom =-1;
public UnStack(int size){
this.arrayStack=new int[size];
}
public boolean isEmpty(){
return this.top==this.bottom;
}
public boolean isFull(){
return this.top+1==this.arrayStack.length;
}
public void push(int value){ //入栈
if(isFull()){
System.out.println("入栈失败,栈满");
return;
}
this.top++;
this.arrayStack[top]=value;
System.out.println("入栈成功");
}
public int pop(){ //出栈
if(isEmpty()){
throw new RuntimeException("栈空,无法弹出");
}
int value=this.arrayStack[top];
this.top--;
System.out.println("出栈成功");
return value;
}
public void show(){
if(isEmpty()){
System.out.println("空栈,无法展示");
}
for(int i = 0; i<=top; i++){
System.out.printf("arrayStack[%d]=%d\n",i,this.arrayStack[i]);
}
}
}
数组模拟栈简单代码实现
最新推荐文章于 2024-06-16 09:46:44 发布