用java实现栈

栈可以说是一种特殊的链表,它的主要特点是先进后出,是一种重要的数据结构,广泛应用于我们的编程之中,例如多项式求值、平衡输入和方法的调用等。

实现代码如下所示:

package com.suznhenxing;

public class Stack {
	private int top=-1;//栈顶指针
	private Object[] items;//栈中的数据
	private int size=0;
	private int capacity=10;
	
	public Stack(){
		items=new Object[capacity];
	}
	
	public Object pop(){
		Object o=null;
		if(top>-1){
			o=items[top];
			size--;
			top--;
		}
		return o;
	}
	
	public void push(Object o){//往栈中压入数据
		if(capacity==size){
			capacity*=2;//容量扩充一倍
			Object[] newItems=new Object[capacity];
			for(int i=0;i<size;i++){
				newItems[i]=items[i];
			}
			items=newItems;
		}
		items[top+1]=o;
		size++;
		top++;
	}
	
	public int size(){
		return size;
	}
}
原文地址:https://www.cnblogs.com/sunzhenxing19860608/p/1959234.html