Java數(shù)據(jù)結(jié)構(gòu)之隊(duì)列的簡(jiǎn)單定義與使用方法
本文實(shí)例講述了Java數(shù)據(jù)結(jié)構(gòu)之隊(duì)列的簡(jiǎn)單定義與使用方法。分享給大家供大家參考,具體如下:
一、概述:
1、說(shuō)明:
隊(duì)列的原則時(shí)先進(jìn)先出,就像生活中排隊(duì)取票一樣,誰(shuí)排在前面誰(shuí)先得到
2、有五個(gè)屬性:
1)數(shù)組元素
2)最大空間
3)長(zhǎng)度
4)隊(duì)頭
5)隊(duì)尾
3、示例圖:
二、代碼實(shí)現(xiàn)
/** * @描述 對(duì)列 * @項(xiàng)目名稱 Java_DataStruct * @包名 com.java.stack * @類名 Queue * @author chenlin * @version 1.0 * @SVN $Rev$ */ public class Queue { private long[] arr; private int maxSize;// 最大空間 private int len;// 有效長(zhǎng)度 private int head;// 隊(duì)頭 private int end;// 隊(duì)尾 public Queue(int size) { this.maxSize = size; this.arr = new long[maxSize]; this.len = 0; this.head = 0; this.end = -1; } /** * 從隊(duì)尾插入數(shù)據(jù) * * @param value */ public void insert(long value) { arr[++end] = value; len++; } /** * 從隊(duì)頭移除數(shù)據(jù) */ public long remove() { len--; return arr[head++]; } /** * 判斷是否為空 * * @return */ public boolean isEmpty() { return (len == 0); } /** * 判斷是否滿了 * * @return */ public boolean isFull() { return (len == maxSize - 1); } /** * 獲得隊(duì)列的有效長(zhǎng)度 * * @return */ public int size() { return len; } public static void main(String[] args) { Queue queue = new Queue(50); queue.insert(22); queue.insert(33); queue.insert(44); queue.insert(534); queue.insert(21); queue.insert(55); System.out.println("腳本之家測(cè)試結(jié)果:"); while (!queue.isEmpty()) { System.out.println(queue.remove()); } } }
運(yùn)行結(jié)果:
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
使用stream的Collectors.toMap()方法常見(jiàn)的問(wèn)題及解決
這篇文章主要介紹了使用stream的Collectors.toMap()方法常見(jiàn)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03Java實(shí)現(xiàn)字符串轉(zhuǎn)換成可執(zhí)行代碼的方法
今天小編就為大家分享一篇Java實(shí)現(xiàn)字符串轉(zhuǎn)換成可執(zhí)行代碼的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07EL調(diào)用Java方法_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
簡(jiǎn)單來(lái)說(shuō),我們?cè)谝粋€(gè)類中的某個(gè)方法,可以使用EL進(jìn)行調(diào)用,這個(gè)能被EL表達(dá)式調(diào)用的方法稱之為EL函數(shù),但是這種方式必須滿足兩點(diǎn)要求,具體哪兩點(diǎn),大家可以參考下本文2017-07-07SpringBoot?容器刷新前回調(diào)ApplicationContextInitializer
這篇文章主要為大家介紹了SpringBoot?容器刷新前回調(diào)ApplicationContextInitializer使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12IntelliJ IDEA 如何徹底刪除項(xiàng)目的步驟
本篇文章主要介紹了IntelliJ IDEA 如何徹底刪除項(xiàng)目的步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11實(shí)例解析Java關(guān)于static的作用
只要是有學(xué)過(guò)Java的都一定知道static,也一定能多多少少說(shuō)出一些作用和注意事項(xiàng)。文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Spring Boot啟動(dòng)過(guò)程(六)之內(nèi)嵌Tomcat中StandardHost、StandardContext和Sta
這篇文章主要介紹了Spring Boot啟動(dòng)過(guò)程(六)之內(nèi)嵌Tomcat中StandardHost、StandardContext和StandardWrapper的啟動(dòng)教程詳解,需要的朋友可以參考下2017-04-04