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

2021-07-06 06:54:48 字數 1426 閱讀 3290

/* 

檔名稱:專案1.cbp

作 者:孫鈺坤

完成日期:2023年10月30日

版 本 號: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

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

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

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...