JAVA栈的增删改查

本文介绍了如何在JAVA中实现栈的数据结构,并详细讲解了如何进行创建、插入、删除、修改和查询等基本操作。通过一个方法类的设计,以及配套的测试类,深入理解JAVA栈的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.创建增删改查的方法类

package 栈;

public class StarkDemo {
	
	private Object [] obj;//栈数组
	private int top;
	public StarkDemo(){}
	public StarkDemo(int size){
		obj = new Object[size];
		top=-1;
	}
	public boolean push(Object ob){
		if(top>=obj.length-1){//当头部指针大于或等于栈长度时
			System.out.println("栈已经满了");
			return false;
		}else{
			obj[++top]=ob;//当栈未满时,下一个指向指向当前ob
			System.out.println("增加成功");
			return true;
		}
	}
	//弹出
	public Object pop(){
		if(top<0){
			System.out.println("栈内没有元素");
			return null;
		}else {
			Object ob=obj[top];//删除当前指向的
			obj[top]=null;//当前指向为空
			top--;
			System.out.println("删除成功");
			return ob;
		}
	}
	
	//查看
	public Object peek(){
		if(top<0){
			System.out.println("栈內为空,请添加元素");
			return null;
			
		}else{
			return obj[top];
		}	
	}	
}

2.创建一个测试类

package 栈;
import java.util.*;
import javax.xml.soap.Node;

import 栈.StarkDemo;
public class Test {
	public static void main(String[] args) {
		
		Scanner sc= new Scanner (System.in);
		/*System.out.println("请输入。。。");
		String date =sc.next();
		StarkDemo sd=new StarkDemo(date.length());
		char cr;
		for(int i=0;i<date.length();i++){
			cr=date.charAt(i);
			sd.push(cr);
		}
		System.out.println(sd.peek());
		*/
		System.out.println("请确定栈的长度");
		int d= sc.nextInt();
		StarkDemo sd= new StarkDemo(d);
		boolean a=true;
		while(a){
			System.out.println("1增加 2删除 3查看 4退出");
			int s= sc.nextInt();
			if(s==1){
				System.out.println("请输入要增加的元素");
				Object ob= sc.next();
				sd.push(ob);
			}else if(s==2){
				sd.pop();
			}else if(s==3){
				System.out.println(sd.peek());
			}else if(s==4){
				a=false;
			}else{
				System.out.println("请输入1到4之间的数字");
			}	
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值