java 堆栈 代码_堆栈的使用-题解(Java代码)

这是一个使用Java实现堆栈基本操作的代码示例,包括创建堆栈、入栈(addstack)、出栈(pop)和显示栈中元素(show)。堆栈的大小通过Scanner获取,根据用户输入的指令执行相应操作。
摘要由CSDN通过智能技术生成

###### # ##### # import java.util.Scanner;

class stackDemo

{

public static void main(String[] args)

{

String str="";

Scanner in=new Scanner(System.in);

boolean flag=true;

//测试一把

//定义一个栈的大小

int n;

n=in.nextInt();

while(n!=0){

stack s=new stack(n);

for(int i=1;i<=n;i++){

str=in.next();

switch(str){

case "A":

s.show();

break;

case "P":

int value;

value=in.nextInt();

s.addstack(value);

break;

case "O":

s.pop();

break;

}

}

System.out.println();

n=in.nextInt();

}

}

}

//定义一个栈的属性

class stack

{

public int maxSize;//栈的空间大小

public int[] arr;//存放的数据容器

public int top=-1;//栈顶的值,一开始是-1

//初始化方法

public stack(int max){

this.maxSize=max;

arr=new int[this.maxSize];

}

//向栈中添加数据(入栈);

public void addstack(int value){

//首先判断栈中的数据是否已经满了

if(isfull()){

System.out.println("栈元素已经满了~~");

return;

}

top++;

arr[top]=value;//添加数据

}

//向栈中取出数据(出栈)

public void pop(){

//判断栈中是否为空,

if(isempty()){

return;

}

top--;

}

//遍历栈中的数据

public void show(){

//判断是否已经为空

if(isempty()){

System.out.println("E");

return;

}

System.out.printf("%d\n",arr[top]);

}

//判断栈中的元素是否已经满了

public boolean isfull(){

return this.top==this.maxSize-1;//当栈顶和栈的最大空间相等的时候就满了

}

//判断是否为空

public boolean isempty(){

return this.top==-1;

}

}

0.0分

0 人评分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值