學習參考: 嚴蔚敏: 《資料結構-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...