码迷,mamicode.com
首页 > 编程语言 > 详细

栈的数组实现

时间:2016-11-10 11:56:20      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:color   private   ide   pop   bool   nbsp   err   nfa   pac   

1.首先定义了栈需要实现的接口

public interface Mystack<T> {
    
    boolean isempty();
    
   void clear();
   
   int length();
   //入栈
   boolean push(T data);
   //出栈
   T pop();
}

2.栈的数组实现

 

package suanfa;

public class MyArrayStack<T> implements Mystack<T> {

    private Object [] obs=new Object[16];
    private int size=0;
    
    
    @Override
    public boolean isempty() {
        // TODO Auto-generated method stub
        return size==0;
    }

    @Override
    public void clear() {
        // TODO Auto-generated method stub
        for (int i=0;i<obs.length;i++){
            
            obs[i]=null;
        }
        
        size=0;
    }

    @Override
    public int length() {
        // TODO Auto-generated method stub
        return size;
    }

    @Override
    public boolean push(T data) {
        // TODO Auto-generated method stub
    //    return false;
        
        if(size>=obs.length){
            resize();
            
        }
        obs[size++]=data;
        
        return true;
        
    }

    @Override
    public T pop() {
        // TODO Auto-generated method stub

      if(size==0){
       return null;
       }
     return (T) obs[--size];


    }
    
    
    private void resize(){
        
        Object [] tmp=new Object[obs.length*3/2+1];
        
        for(int i=0;i<obs.length;i++){
            tmp[i]=obs[i];
            obs[i]=null;
            
        }
        
        obs=tmp;
        
    }

}

 

栈的数组实现

标签:color   private   ide   pop   bool   nbsp   err   nfa   pac   

原文地址:http://www.cnblogs.com/luo-mao/p/6050236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!