這篇文章主要講解了“PriorityQueue優先級隊列是什么意思”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PriorityQueue優先級隊列是什么意思”吧!
成都創新互聯服務項目包括且末網站建設、且末網站制作、且末網頁制作以及且末網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,且末網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到且末省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!
JDK版本是1.8
兩種方法沒有什么本質的區別,add()只是把offer()方法包裝一下。
if (e == null) throw new NullPointerException(); modCount++; int i = size; if (i >= queue.length) grow(i + 1);//擴容 size = i + 1; if (i == 0) queue[0] = e;//隊列為空的情況下,直接放入 else siftUp(i, e); //調整節點(該方法是主要的方法),在位置i處插入e,和e的父節點比較,直到該節點大于或等于其父級或者是根。 return true;
獲取隊列頭元素,但不會刪除
(size == 0) ? null : (E) queue[0];
獲取隊列頭元素,但會刪除頭元素,并且因為刪除頭元素,會調整隊列的元素位置
if (size == 0) return null; int s = --size; //隊列大小減一 modCount++; E result = (E) queue[0];//獲取頭元素 E x = (E) queue[s];//記錄隊列最后的元素 queue[s] = null;//刪除隊列最后的元素 if (s != 0) siftDown(0, x);//調整整個隊列的元素的位置,在位置0處插入項x,和x的葉子節點比較,直到它小于或等于其子項或者是葉子 return result;
感謝各位的閱讀,以上就是“PriorityQueue優先級隊列是什么意思”的內容了,經過本文的學習后,相信大家對PriorityQueue優先級隊列是什么意思這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!
當前標題:PriorityQueue優先級隊列是什么意思
當前URL:http://m.kartarina.com/article36/jedopg.html
成都網站建設公司_創新互聯,為您提供網頁設計公司、Google、定制網站、域名注冊、網站制作、企業網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯