<script type="text/javascript"> google_ad_client = "pub-8800625213955058"; /* 336x280, 创建于 07-11-21 */ google_ad_slot = "0989131976"; google_ad_width = 336; google_ad_height = 280; // </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

  根据这些特点,对队列定义了以下六种操作:

    enq(x) 向队列插入一个值为x的元素;

    deq() 从队列删除一个元素;

    front() 从队列中读一个元素,但队列保持不变;

    empty() 判断队列是否为空,空则返回真;    clear() 清空队列;

    search(x) 查找距队首最近的元素的位置,若不存在,返回-1。

   Vector类是JAVA中专门负责处理对象元素有序存储和任意增删的类,因此,用Vector

    可以快速实现JAVA的队列类。 

  

 

public class Queue extends java 
 

    public synchronized void enq(Object x) { 
 

    super.addElement(x); 
 

    } 
 

    public synchronized Object deq() { 
 

    /* 队列若为空,引发EmptyQueueException异常 */ 
 

    if( this.empty() ) 
 

    throw new EmptyQueueException(); 
 

    Object x = super.elementAt(0); 
 

    super.removeElementAt(0); 
 

    return x; 
 

    } 
 

    public synchronized Object front() { 
 

    if( this.empty() ) 
 

    throw new EmptyQueueException(); 
 

    return super.elementAt(0); 
 

    } 
 

    public boolean empty() { 
 

    return super.isEmpty(); 
 

    } 
 

    public synchronized void clear() { 
 

    super.removeAllElements(); 
 

    } 
 

    public int search(Object x) { 
 

    return super.indexOf(x); 
 

    } 
 

    } 
 

   public class EmptyQueueException extends java 
 

    }

  以上程序在JDK1.1.5下编译通过