java数据结构2栈

本文介绍了一个简单的自定义栈实现,使用Java编程语言并通过数组作为其底层数据结构。文章详细解释了栈的基本操作,如压栈(push)、弹栈(pop)、查看栈顶元素(peek)等,并提供了完整的代码示例。

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

package stack;
/**
 * 栈
 * 栈的特征 先进后出,后进先出
 * @author 羊头怪
 *
 */
public class MyStack {
	/**
	 * 栈的特征 先进后出,后进先出
	 */
    //栈的底层是数组
	private int[] array;
	//数组下标
	private int top;
	
	/**
	 * 无参构造 初始化数组
	 * 默认数组长度是10
	 */
		
	public MyStack() {
		array = new int[10];
		
		top=-1;
	}
	
	 /**
	  * 有参构造初始化数组
	  */
	public MyStack(int size) {
		array = new int[size];
		
		top=-1;
	}
	
	/**
	 * 判断栈中是否有元素
	 * false有元素 不是空
	 * true没有元素  是空
	 * 
	 */
	
	public boolean isEmpty() {
		
		return top==-1;
	}
	
	/**
	 * 判断栈中元素是否满了
	 * false 不满
	 * true 满
	 */
	
	public boolean isfull() {
		
		return top==array.length-1;
	}
	
	/**
	 * 清空栈
	 */
	
	public void clear() {
		top=-1;
		
	}
	
	
	/**
	 * 向栈压进数
	 * 进栈
	 * @param value
	 */
	public void push(int value) {
		
		array[++top]=value;
	}
	
	/**
	 * 访问栈顶元素
	 */
	public int peek() {
		
		return array[top];
	}
	
	/**
	 * 移除元素
	 * 出栈
	 * @param index
	 */
	public int pop() {
		
	  return array[top--];
	}
	
	public void find(int index) {
		
	}
	
	public void toMyStack() {
		System.out.print("["+" ");
		for(int i=0;i<=top;i++) {
			System.out.print(array[i]+" ");
		}
		System.out.println("]");
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值