問題及**:
(1)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
(2)sqqueue.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) //出隊
(3)main.cpp
#include #include "sqqueue.h"
int main()
printf("\n");
printf("(9)釋放佇列\n");
destroyqueue(q);
return 0;
}
執行結果:
知識點總結:
環形佇列與順序佇列的區別在於將順序表做成環行結構防止了假溢位,即將隊滿條件由front=rear改為(rear+1)%maxsize=front,雖然浪費了空間,但在maxsize足夠大的情況下保證了空間的效率。
心得體會:
實現問題的方法有很多種,資料結構便是學習解決問題的最優辦法。
第七周 專案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...
第七周專案1 建立順序環形佇列演算法庫
2015,煙台大學計算機與控制工程學院 檔名稱 第7周專案1 建立順序環形佇列演算法庫 作 者 楊惠娟 完成日期 2015年10月23日 版 本 號 v1.0 問題描述 定義順序環形佇列儲存結構,實現其基本運算,並完成測試。輸入描述 若干資料。程式輸出 若干資料。1 標頭檔案 define maxs...