資料結構(四)佇列

2021-09-11 13:02:48 字數 1689 閱讀 5149

1、特點:

2、主要實現:

3、關係圖:

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 主要實現 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的佇列中。最後輸出所有的非空佇列。要求將佇列處理成鏈...