鏈隊允許在表的一端進行插入,而在表的另一端進行刪除。
隊頭----允許刪除的一端。
隊尾----允許插入的一端。
訪問原則:先進先出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...