1. 程式人生 > >Java---之實現資料結構----佇列

Java---之實現資料結構----佇列

package 資料結構;//java之實現佇列
class quene{
    private class Data{
        private Object obj;
        private Data next=null;

        Data(Object obj){
            this.obj=obj;
        }
    }

    private Data first=null;
    private Data last=null;

 public void insert(Object obj){
     Data data=new Data( obj);
     if(first==null){
         last=data;
         data.next=first;//此處實現的時雙端佇列,頭和尾是連線在一起的。
         first=data;
     }
 }

 public Object delete() throws Exception{
     if(first==null)throw new Exception("empty");
     Data temp=first;
     if(first.next==null)
         last=null;
     first=first.next;
     return temp.obj;
 }

 public void dispaly( ){
     if(first==null){//因為之前last=data, data.next=first,firse=data;由此可以判斷頭尾是同一個東西
         System.out.println("empty");
      System.out.println("first->last:|");
      Data current=first;
      while(current!=null){//將佇列中的值依次展示出來
          System.out.println(current.obj.toString()+"|");
          current=current.next;
      }
      System.out.println("\n");
     }
 }
}

public class quenetest {
    private quene ss=new quene();
    public void push(Object obj){
        ss.insert(obj);
    }
    public void dispaly(){
        ss.dispaly();
    }
    public static void main(String[] args){
        quenetest hss=new quenetest();
        hss.push(1);
        hss.push(2);
        hss.dispaly();
        hss.push(3);
        hss.dispaly();
    }
}