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(ob ject x) {
lement(x);
}
public synchronized ob ject deq() {
/* 隊列若為空,引發EmptyQueueException異常 */
if( y() )
throw new EmptyQueueException();
ob ject x = entAt(0);
veElementAt(0);
return x;
}
public synchronized ob ject front() {
if( y() )
throw new EmptyQueueException();
return entAt(0);
}
public boolean empty() {
return pty();
}
public synchronized void clear() {
veAllElements();
}
public int search(ob ject x) {
return xOf(x);
}
}
public class EmptyQueueException extends java
}
以上程序在JDK1.1.5下編譯通過
-
Java工程師是做什麼的
Java工程師職位描述提要:精通Java/J2EE編程,能熟練使用SpringMVC、hibernate、框架進行項目開發,熟練使用freemarker等前端模板語言。Java工程師職位描述:1、負責產品功能開發;2、遵循公司技術標準、規範,高質量完成設計、開發任務;3、參與研發部門技術積累、技術難題...
-
Java語言的學習技巧
知識改變命運,對於Java程序員來説,技術不斷更新,只有及時充電,才能不被市場淘汰。今天小編為大家分享Java程序員學習的6個小技巧。一定要看書現在學習Java變得比以前容易多了,除了有大量的視頻教程外,還有專業的java培訓機構,這都使學習變得更加傻瓜化,然而我要説的是,J...
-
關於Java程序員面試中的多線程問題總結
很多核心Java面試題來源於多線程(Multi-Threading)和集合框架(CollectionsFramework),理解核心線程概念時,嫻熟的實際經驗是必需的。這篇文章收集了Java線程方面一些典型的問題,這些問題經常被高級工程師所問到。0、Java中多線程同步是什麼?在多線程程序下,同步能控...
-
Java常用數據結構及類
Java可以編寫桌面應用程序、Web應用程序、分佈式系統和嵌入式系統應用程序等。本文特意為大家收集整理了Java常用數據結構及類,希望大家喜歡!一、Vector類Vector類似於一個數組,但與數組相比在使用上有以下兩個優點。1、使用的時候無需聲明上限,隨着元素的增加,Vec...