最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中和隊(duì)列相關(guān)的基本操作

 更新時(shí)間:2023年09月14日 08:40:28   作者:whO_aMi  
在Java中,隊(duì)列是一種常用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)和管理元素。Java提供了Queue接口和其實(shí)現(xiàn)類(lèi),包括LinkedList和ArrayDeque等。隊(duì)列的基本操作包括入隊(duì)(enqueue)、出隊(duì)(dequeue)、獲取隊(duì)首元素(peek)和判斷隊(duì)列是否為空(isEmpty)。

什么是隊(duì)列?

隊(duì)列是一種線性數(shù)據(jù)結(jié)構(gòu),隊(duì)列中的元素只能先進(jìn)先出;
隊(duì)列的出口端叫做隊(duì)頭,入口端叫做隊(duì)尾。

隊(duì)列的基本操作

1.入隊(duì):

     只允許在隊(duì)尾的位置放入元素,新元素的下一個(gè)位置將會(huì)成為新的隊(duì)尾;

public void ernQueue(irnt elemernt) throws Exceptiorn{
? ? ? ? if((rear+1)%array.lerngth==frornt){
? ? ? ? ? ? throw rnew Exceptiorn("隊(duì)滿!!!");
? ? ? ? }
? ? ? ? array[rear]=elemernt;
? ? ? ? rear=(rear+1)%array.lerngth;
? ? }

2.出隊(duì):

     類(lèi)似于入隊(duì),只允許在對(duì)頭的位置移除元素,出隊(duì)元素的后一個(gè)元素將會(huì)成為新的對(duì)頭;
     當(dāng)一個(gè)隊(duì)列經(jīng)過(guò)反復(fù)的入隊(duì)和出隊(duì)操作,還剩下2個(gè)元素,這時(shí)又有新元素入隊(duì)時(shí),在數(shù)組不擴(kuò)容的
     情況下,將隊(duì)尾指針重新指向數(shù)組的首位,實(shí)現(xiàn)循環(huán)隊(duì)列的數(shù)據(jù)結(jié)構(gòu)。

public irnt deQueue() throws Exceptiorn{
? ? ? ? if(frornt==rear){
? ? ? ? ? ? throw rnew Exceptiorn("隊(duì)滿!!!");
? ? ? ? }
? ? ? ? irnt deElemernt=array[frornt];
? ? ? ? frornt=(frornt+1)%array.lerngth;
? ? ? ? returrn deElemernt;
? ? }

3.判斷隊(duì)滿的情況:

     當(dāng)(隊(duì)尾下標(biāo)+1)%數(shù)組長(zhǎng)度=隊(duì)頭下標(biāo)時(shí),隊(duì)滿;
     隊(duì)尾指針指向的位置永遠(yuǎn)空出一位,所以隊(duì)列最大容量比數(shù)組長(zhǎng)度小1。

package Queue;
public class MyQueue {
? ? //定義數(shù)組
? ? private irnt[] array;
? ? //對(duì)頭指針
? ? private irnt frornt;
? ? //隊(duì)尾指針
? ? private irnt rear;
? ? //定義隊(duì)列的構(gòu)造方法(類(lèi)似數(shù)組)
? ? public MyQueue(irnt capacity){
? ? ? ? this.array=rnew irnt[capacity];
? ? }
? ? //入隊(duì)操作(elemernt:入隊(duì)元素)
? ? public void ernQueue(irnt elemernt) throws Exceptiorn{
? ? ? ? if((rear+1)%array.lerngth==frornt){
? ? ? ? ? ? throw rnew Exceptiorn("隊(duì)滿!!!");
? ? ? ? }
? ? ? ? array[rear]=elemernt;
? ? ? ? rear=(rear+1)%array.lerngth;
? ? }
? ? //出隊(duì)操作
? ? public irnt deQueue() throws Exceptiorn{
? ? ? ? if(frornt==rear){
? ? ? ? ? ? throw rnew Exceptiorn("隊(duì)滿!!!");
? ? ? ? }
? ? ? ? irnt deElemernt=array[frornt];
? ? ? ? frornt=(frornt+1)%array.lerngth;
? ? ? ? returrn deElemernt;
? ? }
? ? //輸出隊(duì)列
? ? public void output(){
? ? ? ? for(irnt i=frornt;i!=rear;i=(i+1)%array.lerngth){
? ? ? ? ? ? System.out.prirnt(array[i]+" ");
? ? ? ? }
? ? }
? ? public static void mairn(Strirng[] args) throws Exceptiorn{
? ? ? ? MyQueue myQueue=rnew MyQueue(6);
? ? ? ? myQueue.ernQueue(1);
? ? ? ? myQueue.ernQueue(2);
? ? ? ? myQueue.ernQueue(3);
? ? ? ? myQueue.ernQueue(4);
? ? ? ? myQueue.ernQueue(5);
? ? ? ? myQueue.deQueue();
? ? ? ? myQueue.deQueue();
? ? ? ? myQueue.ernQueue(6);
? ? ? ? myQueue.ernQueue(7);
? ? ? ? myQueue.output();
? ? }
}

 隊(duì)列是一種常用的數(shù)據(jù)結(jié)構(gòu),在Java中有多種實(shí)現(xiàn)方式。隊(duì)列的基本操作包括入隊(duì)、出隊(duì)、獲取隊(duì)首元素和判斷隊(duì)列是否為空。入隊(duì)操作將元素添加到隊(duì)列的末尾,出隊(duì)操作將隊(duì)首元素移除并返回,peek操作返回隊(duì)首元素但不移除,isEmpty操作判斷隊(duì)列是否為空。隊(duì)列通常采用先進(jìn)先出(FIFO)的原則,即先入隊(duì)的元素先出隊(duì)。在Java中,可以使用Queue接口及其實(shí)現(xiàn)類(lèi)(如LinkedList和ArrayDeque)來(lái)實(shí)現(xiàn)隊(duì)列。隊(duì)列在多線程編程、任務(wù)調(diào)度等場(chǎng)景中有廣泛應(yīng)用。隊(duì)列的特性使其適用于需要按照特定順序處理元素的場(chǎng)景,例如消息隊(duì)列、任務(wù)隊(duì)列等。在使用隊(duì)列時(shí),需要注意線程安全性和性能問(wèn)題。對(duì)于多線程環(huán)境,可以使用線程安全的實(shí)現(xiàn)類(lèi)或加鎖來(lái)保證操作的原子性。對(duì)于性能要求較高的場(chǎng)景,可以選擇合適的隊(duì)列實(shí)現(xiàn)類(lèi)或使用其他數(shù)據(jù)結(jié)構(gòu)來(lái)替代隊(duì)列。

到此這篇關(guān)于Java中和隊(duì)列相關(guān)的基本操作的文章就介紹到這了,更多相關(guān)Java隊(duì)列的基本操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IntelliJ IDEA搜索整個(gè)項(xiàng)目進(jìn)行全局替換(有危險(xiǎn)慎用)

    IntelliJ IDEA搜索整個(gè)項(xiàng)目進(jìn)行全局替換(有危險(xiǎn)慎用)

    今天小編就為大家分享一篇關(guān)于IntelliJ IDEA搜索整個(gè)項(xiàng)目進(jìn)行全局替換(有危險(xiǎn)慎用),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-10-10
  • SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)H2的實(shí)踐

    SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)H2的實(shí)踐

    h2是內(nèi)存數(shù)據(jù)庫(kù),查詢高效,可以在開(kāi)發(fā)初期使用它。本文主要介紹了SpringBoot集成內(nèi)存數(shù)據(jù)庫(kù)H2的實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-09-09
  • 如何測(cè)試Spring MVC應(yīng)用

    如何測(cè)試Spring MVC應(yīng)用

    這篇文章主要介紹了如何測(cè)試Spring MVC應(yīng)用,幫助大家更好的理解和使用spring框架,感興趣的朋友可以了解下
    2020-10-10
  • Java數(shù)據(jù)類(lèi)型與運(yùn)算符詳細(xì)代碼示例

    Java數(shù)據(jù)類(lèi)型與運(yùn)算符詳細(xì)代碼示例

    變量指的是程序運(yùn)行時(shí)可變的量,相當(dāng)于開(kāi)辟一塊內(nèi)存空間來(lái)保存一些數(shù)據(jù),類(lèi)型則是對(duì)變量的種類(lèi)進(jìn)行了劃分,不同的類(lèi)型的變量具有不同的特性,這篇文章主要介紹了Java數(shù)據(jù)類(lèi)型與運(yùn)算符的相關(guān)資料,需要的朋友可以參考下
    2026-02-02
  • 詳解Java排序算法中的冒泡和選擇排序

    詳解Java排序算法中的冒泡和選擇排序

    這篇文章主要給大家介紹了Java排序算法中的冒泡排序和選擇排序,文中有詳細(xì)的圖文解釋和代碼示例,對(duì)我們學(xué)習(xí)Java算法有一定的幫助,感興趣的同學(xué)可以參考閱讀下
    2023-06-06
  • java中String字符串刪除空格的七種方式

    java中String字符串刪除空格的七種方式

    在Java中從字符串中刪除空格有很多不同的方法,本文主要介紹了java中String字符串刪除空格的七種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 利用Socket.io 實(shí)現(xiàn)消息實(shí)時(shí)推送功能

    利用Socket.io 實(shí)現(xiàn)消息實(shí)時(shí)推送功能

    這篇文章主要介紹了利用Socket.io 實(shí)現(xiàn)消息實(shí)時(shí)推送功能,需要的朋友可以參考下
    2017-12-12
  • Spring Boot自動(dòng)配置實(shí)戰(zhàn)指南

    Spring Boot自動(dòng)配置實(shí)戰(zhàn)指南

    本文深入探討了Spring Boot自動(dòng)配置這一核心特性,首先介紹了 Spring Boot在Java開(kāi)發(fā)中的重要地位,以及自動(dòng)配置的概念和重要性,它通過(guò) “約定優(yōu)于配置” 的理念,大大簡(jiǎn)化了開(kāi)發(fā)過(guò)程,提高了開(kāi)發(fā)效率 ,感興趣的朋友跟隨小編一起看看吧
    2026-04-04
  • 基于mybatis?plus實(shí)現(xiàn)數(shù)據(jù)源動(dòng)態(tài)添加、刪除、切換,自定義數(shù)據(jù)源的示例代碼

    基于mybatis?plus實(shí)現(xiàn)數(shù)據(jù)源動(dòng)態(tài)添加、刪除、切換,自定義數(shù)據(jù)源的示例代碼

    這篇文章主要介紹了基于mybatis?plus實(shí)現(xiàn)數(shù)據(jù)源動(dòng)態(tài)添加、刪除、切換,自定義數(shù)據(jù)源,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Spring?自定義propertyEditor的示例代碼

    Spring?自定義propertyEditor的示例代碼

    這篇文章主要介紹了Spring?自定義propertyEditor的示例代碼,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12

最新評(píng)論

呼伦贝尔市| 广元市| 华阴市| 玛纳斯县| 隆尧县| 孟连| 甘德县| 天柱县| 瑞安市| 绥化市| 科尔| 聂荣县| 连州市| 陇西县| 安义县| 温宿县| 梅州市| 临猗县| 勃利县| 郸城县| 梁山县| 鲁甸县| 应用必备| 鲜城| 嫩江县| 伽师县| 通海县| 武定县| 富顺县| 马山县| 漠河县| 双城市| 武山县| 客服| 浦城县| 板桥市| 城固县| 宜春市| 肥东县| 吐鲁番市| 乌苏市|