首页 > 试题广场 >

请用java,实现Stack类或者Queue类,支持该数据结

[问答题]

请用java,实现Stack类或者Queue类,支持该数据结构的基本操作。

  1. import java.util.LinkedList;  
  2.    
  3. public class MyStack {  
  4.          
  5.         private LinkedList ll = new LinkedList();  
  6.          
  7.         public void push(Object obj){  
  8.                 //将指定元素插入此列表的开头。  
  9.                 ll.addFirst(obj);  
  10.         }  
  11.          
  12.         public Object pop(){  
  13.                 //移除并返回此列表的第一个元素.  
  14.                 return ll.removeFirst();  
  15.         }  
  16.          
  17.         public Object peek(){  
  18.                 // 返回此列表的第一个元素。  
  19.                 return ll.getFirst();  
  20.         }  
  21.          
  22.         public boolean empty(){  
  23.                 return ll.isEmpty();  
  24.         }  
  25. }  
发表于 2017-07-29 08:38:03 回复(0)
publicclassStack{ 
    intdata[];  
    inttop;  
    intsize;   
    publicStack() { 
        this(16);  
    } 
    publicStack(intsize){ 
        this.data=newint[size];  
        this.size=size;  
    } 
    publicvoidpush(intelement){ 
        this.data[this.top++]=element;  
        if(this.top==this.data.length){ 
            intnewdata[]=newint[this.size*2];  
            this.size*=2;  
            for(inti=0;i<this.top;i++){
                newdata[i]=this.data[i];  
            } 
            this.data=newdata;  
         }
    } 
    publicintpop(){ 
        intelement=this.data[--top];   
        if(this.top<=this.size/4){ 
            intnewdata[]=newint[this.size/2];  
            this.size/=2;  
            for(inti=0;i<this.top;i++){
                newdata[i]=this.data[i];  
            } 
            this.data=newdata;  
        } 
        returnelement;  
    } 
    publicintpeek(){ 
        returnthis.data[top-1];  
    }
}

发表于 2017-08-01 11:43:59 回复(0)