資料結構之迴圈佇列 順序佇列 的實現 C語言

2021-08-28 04:10:21 字數 1091 閱讀 4872

學習參考: 嚴蔚敏: 《資料結構-c語言版》

基本操作

入隊

出隊建空佇列

判隊空隊滿

獲取隊首元素

**實現

佇列結構定義

#define queuesize 100

typedef struct

seqqueue,* pqueue;

建空佇列

void initqueue(pqueue q)

判隊空

int queueempty(pqueue q)

隊滿

int queuefull(pqueue q)

入隊

int enqueue(pqueue q, char c)

出隊

int dequeue(pqueue q, char* c)

獲取隊首元素

int getfront(pqueue q, char* c)

測試**

#include #include "seqqueue.h"

int main()

重要知識

隊空和隊滿時頭尾指標均相等。因此,我們無法通過front=rear來判斷佇列「空」還是「滿」

解決此問題的方法至少有三種:

另設乙個布林變數以匹別佇列的空和滿

少用乙個元素的空間,約定入隊前,測試尾指標在迴圈意義下加1後是否等於頭指標,若相等則認為隊滿(注意:rear所指的單元始終為空);

使用乙個計數器記錄佇列中元素的總數(實際上是佇列長度)。

寫在最後

資料結構 佇列 順序佇列 迴圈佇列 鏈佇列)

前言 一 佇列的定義 二 佇列的順序儲存結構 1.順序佇列的定義 2.迴圈佇列定義 3.迴圈佇列的基本操作 三 佇列的鏈式儲存結構 1.鏈佇列的定義 2.鏈佇列的基本操作 佇列也是一種線性表,其特殊性在於佇列的基本操作是線性表的子集。佇列按 先進先出 的規則進行操作,故稱其為操作受限的線性表。佇列 ...

資料結構之佇列(順序儲存),實現迴圈佇列

迴圈佇列利用順序佇列的第2種出隊方式 1.使用隊頭 front 向後移動,而不是通過將整個佇列向前移動,大大提高了出隊的效率。2.使用迴圈佇列,解決了第2種出隊方式浪費儲存空間的問題。3.也就是說,迴圈佇列出隊效率高,儲存空間利用率高。空佇列 迴圈佇列 插入元素 滿佇列 方法 1.利用取模 2.判斷...

資料結構之佇列 順序佇列

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