数据结构-栈-2015

2015 另一个版本

public class StackDemo {
	private static final int LENGTH = 3;
	private Object[] objArr = new Object[LENGTH];
//	private static int size = 0;
	private int top = -1;
	
	public StackDemo(){
		this(LENGTH);
	}
	
	public StackDemo(int size){
		this.objArr = new Object[size];
	}
	
	
	
	
	public boolean empty(){
		return objArr.length == 0 ? true : false;
	}
	
	public Object peek(){
		return this.empty() ? null : objArr[top];
	}
	
	public Object pop(){
		Object obj = null;
		
		if(this.empty())
			return null;
		
		obj = objArr[top];
		objArr[top] = null;
		top--;
		
		return obj;
	}
	
	public boolean isFull(){
		return this.objArr.length - 1 == top ? true : false;
	}
	
	public void push(Object obj){
		if(null == obj){
			System.out.println("parameter is null,exit");
			return;
		}
			
		if(this.isFull()){
			int newSize = objArr.length + java.lang.Math.round(objArr.length / 2);
			objArr = Arrays.copyOf(objArr, newSize);
		}
		
		objArr[++top] = obj;
		
			
	}
	
	public static void main(String[] args){
		StackDemo s = new StackDemo();
		for(int i = 0; i< 5; i++){
			s.push(i);
		}
		
		int temp = (Integer) s.peek();
		
		System.out.println("value -->" + temp);
	}
	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值