大話資料結構 佇列

2022-09-06 02:54:09 字數 712 閱讀 7414

佇列是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。

佇列是一種先進先出的線性表,簡稱fifo。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。

佇列的抽象資料型別

adt    佇列(queue)

data

同線性表。元素具有相同的型別,相鄰元素具有前驅和後繼的關係。

operation

initqueue(*q): 初始化操作,建立乙個空佇列q。

destroyqueue(*q): 若佇列q存在,則銷毀它。

clearqueue(*q): 將佇列q清空。

queueempty(q): 若佇列q為空,返回true,否則返回false。

gethead(q,*e): 若佇列q存在且非空,用e返回佇列q的隊頭元素。

enqueue(*q,e): 若佇列q存在,插入新元素e到佇列q中並成為隊尾元素。

dequeue(*q,*e): 刪除佇列q中隊頭元素,並用e返回其值。

queuelength(q): 返回佇列q的元素個數。

endadt

佇列的順序儲存結構

使用頭尾相接的迴圈佇列。

佇列的鏈式儲存結構

佇列的鏈式儲存結構,其實就是線性表的單鏈表,只不過它只能尾進頭出而已,我們把它簡稱為鏈佇列。

大話資料結構 佇列

佇列 queue 只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。fifo結構 adt 佇列 queue data operation initqueue q 初始化操作,建立乙個空佇列q。destroyqueue q 若佇列q存在,則銷毀它。clearqueue q 將佇列q清空。que...

大話資料結構 棧與佇列

文章知識點來至於大話資料結構裡邊章節知識,這篇主要介紹棧與佇列在計算機中儲存形式,以及在某些演算法領域中對棧和佇列的相關應用。章節最後介紹了著名的逆波蘭表示式,以及通過演算法來實現該表示式的運算過程。在實現 的同時新增了流程圖。相關 原始碼請檢視文章最後。1 棧結構定義 2 棧的順序儲存 3 兩棧共...

大話資料結構 迴圈佇列 2020 6 28

佇列 queue 是只允許在一端進行插入操作,而在另一端進行刪除操作的線性表。佇列是一種先進先出的線性表,簡稱fifo first in first out 允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。佇列順序儲存結構的不足 入隊操作時間複雜度為o 1 出隊操作時間複雜度為o n 因此,使用迴圈...