基于数组的栈

栈:是种数据结构,有的使用数组实现的,有的使用链表实现的。

特点:先进后出,栈底是不浮动的,只有栈顶浮动, 新插入的元素会成为新的栈顶, 删除元素也只能从栈顶移除 


基于数据的栈的代码:

 
package stack;

public class StackBasedArray {
	private int maxSize;
	private Node[] stack;
	private int top;//栈顶的位置
	
	public StackBasedArray(int max){
		this.maxSize=max;
		stack=new Node[max];
		top=-1;
		
	}
	/**判断栈是否已满
	 */
	public boolean isFull(){
		if(maxSize-1==top){
			return true;
		}
		return false;
	}
	/**判断是否为空
	 * */
	 
	public boolean isEmpty(){
		if(top==-1){
			return true;
		}
		return false;
	}
	/**
	 * 压栈
	 * */
	public void push(Node node){
		if(isFull()){
			System.out.println("栈已满!");
		}
		stack[++top]=node;
	}
	
	/**
	 * 弹栈
	 * */
	public Node pop(){
		if(isEmpty()){
			System.out.println("栈为空");
			return null;
		}
		return stack[top--];
		
	}
	
	/**
	 * 返回栈顶元素*/
	public Node getTop(){
		if(isEmpty()){
			System.out.println("栈为空");
			return null;
		}
		return stack[top];
	}
	
}
public class Node {
	private int data;
	public Node(){}
	public Node(int data){
		this.data=data;
		
	}
	
	public void setData(int data){
		this.data=data;
	}
	public int getData(){
		
		return this.data;
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值