程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 編寫一個JAVA的隊列類

編寫一個JAVA的隊列類

編輯:關於JAVA
根據這些特點,對隊列定義了以下六種操作: 

    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下編譯通過 

           
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved