1. 程式人生 > 其它 >Java佇列知識點整理

Java佇列知識點整理

技術標籤:佇列queuejava

佇列

在這裡插入圖片描述

1.Queen 佇列,隊尾進,隊頭出
Deque:雙端佇列
LinkedList:佇列/雙端佇列,底層是雙向連結串列
PriorityQueue:優先順序佇列,底層是二叉樹,但具有佇列的特性



2.Queue queue = new LinkedList<>();

add,offer返回值:boolean

queue.add( );//呼叫add方法 預設是隊尾入隊,滿了的時候插入會丟擲異常

queue.offer( );//呼叫offer方法 預設是隊尾入隊,滿了的時候直接返回false

remove:刪除

poll:彈出(儘量用poll)
// peek:得到隊頭元素且不刪除

LinkedList linkedlist queue = new LinkedList<>();

linkedlist.addFirst( );//隊頭進

linkedlist.addLast( );//隊尾進




迴圈佇列:

1.front和rear相遇,到底是空還是滿?

2.front和rear都面臨一個問題:

rear+1越界

front+1越界

解決:

1.犧牲一個空間,來判斷是否為滿,判斷當前rear的下一個是否為front

2.(rear+1)%len 是否等於front,若等於,則滿

3.若要放k個元素,在構造方法中設定陣列大小應為k+1