java 队列,编写一个JAVA的队列类

编写一个JAVA的队列类 - 电脑技巧 - 电脑教程网

编写一个JAVA的队列类

日期:2006-09-27   荐:
根据这些特点,对队列定义了以下六种操作:

    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下编译通过

(出处:http://www.sheup.com)




标签: