資料結構第七周專案一 建立順序環形佇列演算法庫

2021-08-09 06:12:53 字數 1586 閱讀 3887

測試執行乙個儲存釋放元素的環形佇列:

/*       

*檔名稱:多檔案組織

*作 者:張昕

*完成日期:2023年10月12日

*版 本 號:v1.0

*/

(.h)標頭檔案**

#ifndef sqqueue_h_included

#define sqqueue_h_included

#define maxsize 5

typedef char elemtype;

typedef struct

sqqueue;

void initqueue(sqqueue *&q); //初始化順序環形佇列

void destroyqueue(sqqueue *&q); //銷毀順序環形佇列

bool queueempty(sqqueue *q); //判斷順序環形佇列是否為空

int queuelength(sqqueue *q); //返回佇列中元素個數,也稱佇列長度

bool enqueue(sqqueue *&q,elemtype e); //進隊

bool dequeue(sqqueue *&q,elemtype &e); //出隊

#endif // sqqueue_h_included

(.cpp)原始檔**

#include #include #include "sqqueue.h"

void initqueue(sqqueue *&q) //初始化順序環形佇列

void destroyqueue(sqqueue *&q) //銷毀順序環形佇列

bool queueempty(sqqueue *q) //判斷順序環形佇列是否為空

int queuelength(sqqueue *q) //返回佇列中元素個數,也稱佇列長度

bool enqueue(sqqueue *&q,elemtype e) //進隊

bool dequeue(sqqueue *&q,elemtype &e) //出隊

(.cpp)main函式

#include #include "sqqueue.h"

int main()

printf("\n");

printf("(9)釋放佇列\n");

destroyqueue(q);

return 0;

}

以上為應用的全部**。(**是在code:block中實現的)

測試執行結果圖如下:

說明:在環形佇列中,隊頭的指標front指向隊中隊頭元素的前乙個位置,隊尾指標rear指向隊中的隊尾元素,佇列中元素的個數=(rear-front+maxsize)%maxsize。

環形佇列相比與順序佇列有效地解決了假溢位現象,更充分的利用了佇列空間。

資料結構第七周專案1 建立順序環形佇列演算法庫

作 者 李哲 完成日期 2017年10月12日 版 本 號 v1.0 問題描述 定義順序環形佇列儲存結構,實現其基本運算,並完成測試。標頭檔案sqqueue.h中定義資料結構並宣告基本運算函式 ifndef sqqueue h included define sqqueue h included d...

資料結構第七周專案1 建立順序環形佇列演算法庫

作 者 劉浩 版 本 號 v1.0 問題描述 定義順序環形佇列儲存結構,實現其基本運算,並完成測試。標頭檔案sqqueue.h中定義資料結構並宣告基本運算函式 cpp view plain copy ifndef sqqueue h included define sqqueue h include...

資料結構第七周專案 佇列陣列

檔名稱 多檔案組織 作 者 張昕 完成日期 2017年12月17日 版 本 號 v1.0 建立10個佇列,分別編號為0 9 處理為佇列陣列,編號即下標 輸入若干個正整數,以數字0作為結束。設輸入的值為x,其個位數字的大小為i,則將x插入到編號為i的佇列中。最後輸出所有的非空佇列。要求將佇列處理成鏈式...