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

2021-07-23 12:34:03 字數 1648 閱讀 8263

/* 

檔名稱:專案1.cpp

作 者:黃玉嬌

完成日期:2023年10月9日

版 本 號:v1.0

問題描述:定義順序環形佇列儲存結構,實現其基本運算,並完成測試。

輸入描述:無

程式輸出:測試資料

*/

#ifndef sqqueue_h_included  

#define sqqueue_h_included

#include #include #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

//順序佇列基本運算函式  

#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) //出隊

#include "sqqueue.h"  

int main()

printf("\n");

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

destroyqueue(q);

return 0;

}

執行結果:

知識點總結:

定義順序環形佇列演算法庫要理解隊首和隊尾指標的用法以及環形結構這一特殊形式的實現。

學習心得:

初始化時隊首和隊尾指標要賦值為零,這一點和棧有區別。

判斷順序環形佇列是否為空只需要看隊首和隊尾是否相等就可以了。

進隊隊尾指向下乙個,出隊隊首指向下乙個,體現了佇列「先進先出"這一結構。

進隊出隊都要用到運算子『%』,以便環形結構的實現。

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

問題及 1 sqqueue.h ifndef sqqueue h included define sqqueue h included define maxsize 5 typedef char elemtype typedef struct sqqueue void initqueue sqque...

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

main.cpp all right reserved 檔名稱 sqqueue.cpp 完成日期 2015年10月13日 19 26 版本號 v1.0 問題描述 建立順序環形佇列演算法庫 include include sqqueue.h int main printf n printf 9 釋放佇...

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

01.04.檔名稱 test.cpp 05.作 者 高露 06.完成日期 2015.10.16 07.版 本 號 v1.0 08.09.問題描述 定義順序環形佇列儲存結構,實現其基本運算,並完成測試。10.輸入描述 11.程式輸出 12.13.include 14.include sqqueue.h...