当前位置: 首页 > 图文教程 > Java技术 > Java基础 > 编写一个JAVA的队列类

Java基础
给Java开发者的10条戒律
Java中调用C/C++生成的DLL
Java事务处理类型/差异总结
使用DataAdapter对象
基于Java事务模型的事务策略
Java的多进程运行模式分析
JAVA反射机制
垃圾清理势在必行:java垃圾收集算法
Clone 方法的使用(深度克隆)
dwr-spring-hibernate的使用
java Spring学习记录
Java性能的十一个用法
java中的assert关键字
Java中的一直不能掌握的switch-case语句
kernighthen-lin算法:我自己编的
Hashtable和HashMap的区别
一个Java程序员应该掌握的10项技能
通过线程门实现Java并发编程
java中的assert关键字
细节的积累 ---字符串的常用方法总结

Java基础 中的 编写一个JAVA的队列类


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-29   浏览: 55 ::
收藏到网摘: n/a

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

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