大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java優(yōu)先級隊列概述

Java優(yōu)先級隊列概述

更新時間:2022-10-27 09:51:30 來源:動力節(jié)點 瀏覽1460次

Java優(yōu)先級隊列是與隊列有些相似的數(shù)據(jù)結構。不同之處在于元素的處理方式:

標準隊列嚴格遵循 FIFO(先進后出)原則。

優(yōu)先級隊列不遵循先進先出原則。

在優(yōu)先級隊列中,根據(jù)優(yōu)先級從隊列中刪除元素。 這轉化為以下要求:

優(yōu)先級隊列中的每個元素都必須有一個與之關聯(lián)的優(yōu)先級。正如您可能已經(jīng)猜到的那樣,具有最高優(yōu)先級的元素會從隊列中移除(出隊)。

但是應該如何定義隊列中元素的優(yōu)先級呢?

定義元素的優(yōu)先級

基本上,您有兩種選擇來定義隊列中元素的優(yōu)先級。你可以

根據(jù)元素的自然順序對元素進行排序。

使用自定義比較器對元素進行排序。

在本文中,我們將重點介紹如何實現(xiàn)優(yōu)先級隊列。因此,為簡單起見,我們將根據(jù)元素的自然順序對元素進行排序。

在我們的示例中,優(yōu)先級隊列將被限制為 int,因此自然排序非常好。但是,請記住,這僅用于演示目的。

如果您要在現(xiàn)實生活中實現(xiàn)優(yōu)先級隊列,您可能想要使用泛型——或者像任何其他開發(fā)人員一樣使用內(nèi)置的java.util.PriorityQueue。

為了使我們的示例實現(xiàn)符合 Java 規(guī)范,最小 元素被定義為具有最高優(yōu)先級的元素。

優(yōu)先隊列操作

任何隊列實現(xiàn)的最基本操作集是:

enqueue — 將元素插入隊列。

dequeue — 從隊列中移除一個元素。

isEmpty — 如果隊列為空,則返回 true。

size — 返回隊列中元素的大小/數(shù)量。

contains — 如果隊列包含給定元素,則返回 true。

peek — 返回隊列的最前面的元素,不 移除它。

請注意,優(yōu)先級隊列的 Java 實現(xiàn)對方法使用不同的名稱。在生產(chǎn)環(huán)境中,我強烈建議您使用優(yōu)先級隊列的默認實現(xiàn),而不是“家庭成長”它。

優(yōu)先隊列的實現(xiàn)

現(xiàn)在,讓我們在 Java 中實現(xiàn)一個非泛型優(yōu)先級隊列。我們將一次實現(xiàn)一個操作,但首先,我們必須決定 要使用哪種內(nèi)部數(shù)據(jù)結構。

數(shù)組非常好,所以我們將繼續(xù)使用它。

對于熟悉數(shù)組的人來說,您可能知道數(shù)組在 Java 中具有固定大小。我們對這個問題的解決方案是我們將提供一個私有方法 double(), 它“增加”了數(shù)組的容量。

優(yōu)先級隊列的代碼框架如下所示。

package priorityqueue;
public class PriorityQueue {
    private int[] innerArray;
    private int size;
    public PriorityQueue() {
        this.innerArray = new int[10];
        size = 0;
    }
    public void enqueue(int x) {
    }
    public int dequeue() {
        return 0;
    }
    public int peek() {
        return 0;
    }
    public boolean contains(int x) {
        return false;
    }
    public boolean isEmpty() {
        return false;
    }
    public int size() {
        return 0;
    }
    private void doubleArray() {
    }
}

如您所見,我們使用int數(shù)組作為內(nèi)部數(shù)據(jù)結構,并在構造函數(shù)中將其默認大小初始化為 10。我們還提供了一個私有變量size來跟蹤元素的數(shù)量。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久不卡一区 | 成人午夜视频免费看欧美 | 国产精品久久久久久久福利院 | 一级aaa级毛片午夜在线播放 | 成人午夜性视频欧美成人 | 免费福利网站在线观看 | 中文字幕第66页永久乱码 | 日韩中文字幕免费在线观看 | 日日射天天射 | 国产精品高清全国免费观看 | 亚洲精品一区二区三区国产 | 久久99影院网久久久久久 | 中国一级免费毛片 | 天天操天天干天天做 | 精品福利国产 | 精品国产一区二区三区久久影院 | 视频黄在线观看 | 国产香蕉网| 特一级男女性色大片 | 亚洲精品午夜级久久久久 | 久青草视频免费观看青 | 亚洲 日本 欧美 中文幕 | 夜夜骑狠狠干 | 久久在线播放 | 欧美成人性生活视频 | 久久精品国产91久久麻豆自制 | 五月天婷婷在线播放 | 夜夜骑日日操 | 毛片视 | 欧美一级日韩在线观看 | 欧美午夜视频 | 色狠狠色综合久久8狠狠色 色狠狠婷婷97 | 日本欧美一区二区三区乱码 | 真人特级毛片免费视频 | 特级毛片a级毛免费播放 | 国产精品高清一区二区三区 | 免费国产阿v视频在线观看 免费国产不卡午夜福在线 免费国产不卡午夜福在线观看 | 久久综合久久鬼 | 亚洲精品综合久久中文字幕 | 在线不卡一区 | 视频一区中文字幕 |