資料結構(四)佇列

2021-08-28 09:29:02 字數 1574 閱讀 2742

1、特點:

2、主要實現:

public inte***ce queueextends collection
一般peek、poll、offer方法跟其他類似方法的區別在於為空會返回null

1、特點:

2、介面原始碼:

public inte***ce dequeextends queue
提供了在兩端移除、新增的相關方法

雙端佇列

1、變數:

public class arraydequeextends abstractcollectionimplements deque, cloneable, serializable
2、構造:

/**

* 無參構造,預設大小為16

*/public arraydeque()

/** * @param numelements 初始容量

*/public arraydeque(int numelements)

/** * 傳入乙個集合

* @param c

*/public arraydeque(collection<? extends e> c)

獲取初始容量,並建立陣列

private void allocateelements(int numelements) 

elements = new object[initialcapacity];

}

3、新增元素

新增元素都是從佇列的尾部新增,如果呼叫addfirst,就是將索引為0作為隊首,需要從length-1的位置(隊尾)開始新增。如果addlast,則索引為0作為隊尾。

public void addfirst(e e) 

//如果將1-8的元素依次通過addfirst新增到佇列中,此時head是從7到0,最終的順序為[8,7,6,5,4,3,2,1]。

public void addlast(e e)

//如果將1-8的元素依次通過addlast新增到佇列中,此時tail從1到8,最終的順序為[1,2,3,4,5,6,7,8]

//將容量擴大到2倍,然後元素複製到新陣列

private void doublecapacity()

4、刪除元素:

刪除元素時在隊首刪除,removefirst時隊首在前(索引為head)開始刪,removelast時隊首在後(索引為tail)處開始刪。

public e removefirst() 

public e removelast()

public e pollfirst()

return result;

}public e polllast()

return result;

}

5、獲取元素:

public e getfirst() 

public e getlast()

資料結構(四)佇列

1 特點 2 主要實現 3 關係圖 public inte ce queueextends collection 複製 一般peek poll offer方法跟其他類似方法的區別在於為空會返回null 1 特點 2 介面原始碼 public inte ce dequeextends queue 複製...

RabbitMQ(四)佇列結構

一 佇列結構 通常佇列由兩部分組成 1 amqqueue,負責amqp協議相關的訊息處理,即接收生產者發布的訊息 向消費者投遞訊息 處理訊息confirm acknowledge等等 2 backingqueue,它提供了相關的介面供amqqueue呼叫,完成訊息的儲存以及可能的持久化工作等。bac...

專案四 佇列陣列

問題及 2015,煙台大學計算機與控制工程學院 完成日期 2015年10月14日 問題描述 建立10個佇列,分別編號為0 9 處理為佇列陣列,編號即下標 輸入若干個正整數,以數字0作為結束。設輸入的值為x,其個位數字的大小為i,則將x插入到編號為i的佇列中。最後輸出所有的非空佇列。要求將佇列處理成鏈...