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

2021-07-06 02:35:36 字數 1656 閱讀 7703

/* 

檔名稱:huandui.cbp

作 者:李涵睿

完成日期:2023年10月23日

版 本 號:v1.0

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

輸入描述:無

程式輸出:測試資料

*/

標頭檔案:sqqueue.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

原始檔:sqqueue.cpp,對應sqqueue.h裡宣告的函式,實現函式功能。

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

main函式:根據需要新增函式,以實現測試功能。

#include #include "sqqueue.h"

int main()

printf("\n");

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

destroyqueue(q);

return 0;

}

執行結果:

學習心得&知識點總結:

1.順序環形佇列演算法庫要注意隊首和隊尾指標的用法,初始化時將隊首和隊尾指標賦值為零。

判斷佇列是否為空,看隊首和隊尾是否相等。

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

3.進隊出隊都要用到除餘「%」,利用0與1,實現環形佇列

第七周專案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...