實現佇列 Queue

2021-10-06 06:15:02 字數 866 閱讀 5186

佇列:只允許在一端進行插入資料操作,在另一端進行刪除資料操作的特殊線性表,佇列具有先進先出fifo (first in first out)

入佇列:進行插入操作的一端稱為隊尾

出佇列:進行刪除操作的一端稱為隊頭

實現:是用鍊錶的結構實現更優一些,因為如果使用陣列的結構,出佇列在陣列頭上出資料,效率比較低

鏈式佇列 尾插

定義兩個引用,乙個頭 乙個尾 為了入隊出隊都實現o(1)的時間複雜度

實現**:

class

node

}public

class

myqueue

else

this

.usedsize++

;return

true;}

//出隊且刪除隊頭元素

public

intpoll()

int data =

this

.front.data;

this

.front =

this

.front.next;

return data;

}public

intpeek()

return

this

.front.data;

}public

boolean

isempty()

public

intsize()

}

佇列Queue的實現

佇列 先進先出 兩種實現方式 1.利用陣列 2.鏈式儲存 需要兩個變數指向隊頭front和隊尾rear,當入隊時,隊尾後移 出隊時,隊頭後移 使用陣列實現,當我們入隊至陣列滿,然後出隊至陣列空,此時雖然陣列為空,但是卻不能再入隊了,因為隊尾rear已經指向了陣列的最後乙個索引位置。那麼如何充分利用陣...

佇列(queue)原理及實現

目錄 序言 佇列簡介 一 順序儲存結構及實現 二 迴圈佇列 三 鏈式儲存結構及實現 四 雙向佇列 佇列是一種特殊的線性表,它只允許在表的前端 front 進行刪除操作,只允許在表的後端 rear 進行插入操作。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。根據其特徵,把佇列簡稱為先進先出 fi...

queue的長度 佇列 Queue

佇列 queue 是先進先出 fifo,first in first out 的線性表。在具體應用中通常用鍊錶或者陣列來實現。佇列只允許在後端 稱為rear 進行插入操作,在前端 稱為front 進行刪除操作。隊結構 迴圈佇列可以更簡單防止偽溢位 假溢位 的發生,但佇列大小是固定的。防止假溢位,如d...