aqueue1.java

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

JAVA
60
字号
//本程序取自Clifford A.Shaffer著张铭等译“数据结构与算法分析”第 75 页,例4.3
//基于顺序队列问题解法 
 import java.io.*;
class AQueue 
   { private static final int defultSize=10;
     private int size;                     //
     private int front;
     private int rear;
     private Object[] listArray;
     
     AQueue(){setup(defultSize);}
     AQueue(int sz){setup(sz);}

     void setup(int sz)
      {size=sz+1;front=rear=0;listArray=new Object[sz+1];}
     public void clear()
      {front=rear=0;}

      public static void Assert_notFalse(boolean p,String q)
     {if(!p)System.out.println((String)q);}
     
     public void enqueue(Object it)
       {
        Assert_notFalse(((rear+1)% size)!=front,"Queue is full");
        rear=(rear+1)%size;
        listArray[rear]=it;
       }
    public Object dequeue()
       {
        Assert_notFalse(! isEmpty(),"Queue is empty ");
        front=(front+1)%size;
        return listArray[front];
       }
    public Object firstValue()
       {
        Assert_notFalse(! isEmpty(),"Queue is empty "); 
        return listArray[(front+1)%size];
       }
    public boolean isEmpty()
       { return front==rear;}
   }//class AQueue

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










⌨️ 快捷键说明

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