您的位置:首页 > 编程语言 > Java开发

java 栈实现(push,pop,peak)

2013-09-27 15:42 288 查看
public class StackX {

 private  int MAX_LENGTH = 10;

 private Object[] array;

 private int top;//栈顶

 

 public StackX(){

  array = new Object[MAX_LENGTH];

  top = -1;

 }

 

 public StackX(int size){

  MAX_LENGTH = size;

  array = new Object[MAX_LENGTH];

  top = -1;

 }

 

 public synchronized  Object pop(){

  if (top < 0)

   return null;

  return array[top--];

 }

 

 public synchronized void push(Object temp){

     if(isFull())

         expandSpace();

  array[++top] = temp;

 }

 

 private void expandSpace(){

  Object[] arrayLen = new Object[array.length*2];

  for(int i = 0,len = array.length;i<len;i++)

   arrayLen[i] = array[i];

  array = arrayLen;

 }

 

 public Object peek(){

  return array[top];

 }

 

 public boolean isNull(){

  return top == -1;

 }

 

 public boolean isFull(){

  return top == array.length-1;

 }

 

 public void clear(){

  top = -1;

 }

 

    public int size() {

        return top + 1;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐