佇列知識點

2021-10-21 03:09:31 字數 746 閱讀 5025

佇列(queue)是一種集合,只有2種操作,1)將元素新增到佇列末尾,2)將元素從頂部取出。

(1)int size( ): 獲取佇列長度

(2)add( e) / offer(e):新增元素到隊尾, 但是當超過佇列容量,使用add會丟擲異常,offer僅僅返回false。

(3)remove(e)/ poll(e):取出隊首元素並刪除,當佇列空,使用remove會丟擲異常,poll返回null。

(4) element (e) / peek(e):獲取隊首元素但不刪除。(棧中,peek也是取[訪問]隊首元素,但是不刪除)

容量不夠或隊列為空時不會拋異常:offer(新增隊尾元素)、peek(訪問隊頭元素)、poll(訪問隊頭元素並移除)

容量不夠或隊列為空時拋異常:add、element(訪問佇列元素)、remove(訪問隊頭元素並移除)

// an highlighted block

queue queue=

newlinkedlist

();//佇列裝數

queue queue=

newlinkedlist

<

>

(treenode)

;//佇列裝樹節點

queue.

offer(2

); queue.

poll(2

);//queue 經常使用的新增元素和刪除元素的手法,用來臨時儲存陣列,便於排序或者重組

棧和佇列 知識點

在c 標準庫 stl 中,實現了棧和佇列,方便使用,並提供了若干方法。以下作簡要介紹。1 棧 stack 說明及舉例 使用棧,要先包含標頭檔案 include 定義棧,以如下形式實現 stacks 其中type為資料型別 如 int,float,char等 棧的主要操作 s.push item 將i...

棧與佇列知識點

一 讀取 include include 棧的標頭檔案 using namespace std intmain 輸入 123 輸出 123 二 刪除 include include 棧的標頭檔案 using namespace std intmain 輸入 123 456 輸出 123 三 判斷棧的...

訊息佇列相關知識點

1.為什麼使用訊息佇列?如果我們不使用訊息佇列,對於使用者的請求,而是直接落到伺服器上,再通過資料庫或者快取對它進行響應。假如在高併發的場景下,如果沒有快取或者資料庫承受不了這麼大的壓力的話,就會造成相應速度非常緩慢,甚至造成資料庫宕機。但是使用訊息佇列之後,使用者的請求資料傳送給了訊息佇列之後可以...