lqueue1.java

来自「java 算法设计与分析的好资料.由王晓东先生主编.」· Java 代码 · 共 66 行

JAVA
66
字号
//本程序取自Clifford A.Shaffer著张铭等译“数据结构与算法分析”第 75 页,例4.3
//基于顺序队列问题解法 
 import java.io.*;
class LQueue 
   { private  Link  front;
     private  Link  rear;                     //
    
     public LQueue() {setup();}
     public LQueue(int sz){ setup();}

     private void setup()
       {front=rear=null;}
    //Remove all Objects from queue

     public void clear()
      {front=rear=null;}
  
      public static void Assert_notFalse(boolean p,String q)
     {if(!p)System.out.println((String)q);}

     //Enqueue Object at rear of queue 
     public void enqueue(Object it)
       {
        if(rear!=null){
          rear.setNext(newLink(it,null));
          rear=rear.next();
          }
        else front=rear=newLink(it,null); 
       }

    public Object dequeue()
       {
        Assert_notFalse(! isEmpty(),"Queue is empty ");
        Object it=front.element();
        front=front.next();
        if(front==null)rear=null;
        return it;
       }

    public Object firstValue()
       {
        Assert_notFalse(! isEmpty(),"Queue is empty ");       
        return front.element();
       }
    public boolean isEmpty()
       { return front==null;}
   }//class LQueue

    public class LQueue1
 {
  public static void main(String args[])
   { 
    
   }
}










⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?