資料結構 佇列之順序佇列

2021-08-29 15:50:27 字數 1087 閱讀 3071

佇列是一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。

佇列的資料元素又稱為佇列元素。在佇列中插入乙個佇列元素稱為入隊,從佇列中刪除乙個佇列元素稱為出隊。因為佇列只允許在一端插入,在另一端刪除,所以只有最早進入佇列的元素才能最先從佇列中刪除,故佇列又稱為先進先出(fifo—first in first out)線性表。

順序佇列是指分配一塊連續的儲存單元存放佇列中的元素,並附設兩個指標front和rear分別指示隊頭元素和隊尾元素的位置。

隊頭指標指向隊頭元素,隊尾指標指向隊尾元素的下乙個位置。

//佇列之順序佇列

#include "stdafx.cpp"

#define elementtype int

#define maxsize 50

typedef struct sequeue;

/*初始化空佇列

*/void initqueue(sequeue &q)

/*判斷佇列是否為空

count==0 || q.front == q.rear ==0

*/bool queueempty(sequeue q)

return false;}/*

入隊操作

1.判斷佇列是否已滿

2.賦值給隊尾,隊尾指標+1

*/bool enqueue(sequeue &q,elementtype e)

q.data[q.rear] = e;

q.rear++;

q.count++;

return true;}/*

出隊操作

1.判斷佇列是否為空

2.取出隊頭元素,隊頭指標+1

*/elementtype dequeue(sequeue &q)

elementtype e = q.data[q.front];

q.front++;

q.count--;

return e;

}

資料結構之佇列 順序佇列

列的特點是 先到先辦 fifo first in first out 可將佇列形象地比作管道 模擬買火車票的佇列實現 include include define n 100 最大有多少個 define datatype char 定義資料型別,定義佇列,struct queue typedef s...

資料結構之順序佇列

前面我們show了棧的技巧,那麼今天繼續學習下佇列的,佇列跟棧幾乎類似,所以在平時專案中用到的地方還是挺多的。第八個例子,順序佇列的實現 注 把我們先前實現的順序鍊錶的標頭檔案和實現檔案包含進來 標頭檔案 ifndef seqqueue h define seqqueue h typedef voi...

資料結構之順序佇列

本次的主題是佇列,佇列是另一種限定性的線性表 當然是人為規定的 即 它只允許在表的一端插入元素,在另一端刪除元素,故具有先進先出 fifo 的特性。本次的 主要涉及到佇列的基本操作 對列的初始化 initsqueueu 入隊操作 entersequeue sequeue q,int x 出隊操作 d...