特殊的線性表 佇列

2021-10-23 02:55:35 字數 2785 閱讀 5857

鏈隊允許在表的一端進行插入,而在表的另一端進行刪除。

隊頭----允許刪除的一端。

隊尾----允許插入的一端。

訪問原則:先進先出fifo

置空隊setnull(q)

將佇列q置成空佇列。

入隊push (q, x)

將元素x插入到佇列q的隊尾。

出隊pop(q)

刪除佇列q的隊頭元素。

取隊頭元素gettop (q)

返回佇列q的隊頭元素,隊頭元素並不出隊。

判隊空empty(q)

判別佇列q是否為空。

//迴圈佇列模板類

//建構函式

void

enqueue

(t x)

;//入隊

t dequeue()

;//出隊

t getfront()

;//查詢隊頭元素

intgetlength()

;//求佇列長度

bool

empty()

//判隊空

private

: t data[queuesize]

;int front;

//隊頭指標

int rear;

//隊尾指標

};當有元素入隊後,隊尾指標移向「下」乙個位置

//入隊

當有元素出隊後,隊頭指標移向「下」乙個位置

//出隊

template

<

class

t>

t circlequeue

::getfront()

//查詢隊頭元素

template

<

class

t>

int circlequeue

::getlength()

隊頭:頭結點,用來出隊刪除

隊尾:尾指標,用來入隊插入

;//析構函式

void

enqueue

(t x)

;//入隊

t dequeue()

;//出隊

t getfront()

;//查詢隊頭元素

bool

empty()

//判隊空

private

: node

* front,

*rear;

//隊頭、隊尾指標

//入隊

//出隊

template

<

class

t>

linkqueue::~

linkqueue()

}

特殊的線性表 棧和佇列介紹

一種操作受限制的線性表,遵從lifo原則。是不是聽起來很高階呢,其實就是 last in first out 後進先出 想想小時候的玩具手槍彈夾,就是這個道理。棧的結構就是線性表,兩端分別叫做棧頂和棧底,插入和刪除只允許在棧頂進行。儲存結構 1.陣列 比較好處理,以陣列的最後為棧頂進行操作 如果是a...

線性表 佇列

和棧相反,佇列是一種先進先出 first in first out 縮寫為fifo 的線性表。它只允許在表的一端進行插入,而在另一端刪除元素。雙端佇列 限定插入和刪除操作在表的兩端進行的線性表 單鏈佇列 佇列的鏈式儲存表示 和線性表類似,佇列也可以有兩種儲存表示。用鍊錶表示的佇列簡稱鏈佇列。type...

特殊線性表 棧

定義 限定僅在表尾進行插入和刪除操作的線性表。操作特性 後進先出。注意 棧只是對錶插入和刪除操作的位置進行了限制,並沒有限定插入和刪除操作進行的時間。const int max size 100 template class t class seqstack template class t voi...