/*
*檔名稱:1.cpp
*完成日期:2023年11月8日
*版本號:v1.0
*問題描述:定義鏈隊儲存結構,實現其基本運算,並完成測試。
要求:1、標頭檔案liqueue.h中定義資料結構並宣告用於完成基本運算的函式。對應基本運算的函式包括:
void initqueue(liqueue *&q); //初始化鏈隊
void destroyqueue(liqueue *&q); //銷毀鏈隊
bool queueempty(liqueue *q); //判斷鏈隊是否為空
int queuelength(liqueue *q); //返回鏈隊中元素個數,也稱佇列長度
bool enqueue(liqueue *&q,elemtype e); //進隊
bool dequeue(liqueue *&q,elemtype &e); //出隊
2、在liqueue.cpp中實現這些函式
3、在main函式中完成測試,包括如下內容:
(1)初始化佇列q
(2)依次進佇列元素a,b,c
(3)判斷佇列是否為空
(4)出隊乙個元素
(5)輸出佇列中元素個數
(6)依次進佇列元素d,e,f
(7)輸出佇列中元素個數
(8)將佇列中所有元素刪除,並輸出序列
(9)釋放佇列
*輸入描述:無
*程式輸出:完成測試後的執行結果*/
liqueue.h:
[cpp]view plain
copy
typedef
char
elemtype;
//自定義字元型資料型別
typedef
struct
qnode
//鏈隊中資料節點的型別
qnode;
typedef
struct
//鏈隊節點的型別
liqueue;
void
initqueue(liqueue *&q);
//初始化鏈隊
void
destroyqueue(liqueue *&q);
//銷毀鏈隊
bool
queueempty(liqueue *q);
//判斷鏈隊是否為空
intqueuelength(liqueue *q);
//返回鏈隊中元素個數,也稱佇列長度
void
enqueue(liqueue *&q,elemtype e);
//進隊
bool
dequeue(liqueue *&q,elemtype &e);
//出隊
liqueue.cpp:
[cpp]view plain
copy
#include
#include "liqueue.h"
void
initqueue(liqueue *&q)
//初始化鏈隊
void
destroyqueue(liqueue *&q)
//銷毀鏈隊
} free(p);
free(q);
} bool
queueempty(liqueue *q)
//判斷鏈隊是否為空
intqueuelength(liqueue *q)
//返回鏈隊中元素個數,也稱佇列長度
return
length;
} void
enqueue(liqueue *&q,elemtype e)
//進隊
} bool
dequeue(liqueue *&q,elemtype &e)
//出隊 需考慮隊列為空的情況,故設定函式型別為bool型
main.cpp:
[cpp]view plain
copy
#include
#include
#include "liqueue.h"
intmain()
printf("\n"
);
destroyqueue(q); //釋放佇列
printf("該佇列已釋放!\n"
);
return
0;
}
執行結果:
第七周 專案2建立鏈隊演算法庫
all right reserved.檔名稱 lid.cpp 作 者 商文軻 完成日期 2015年10月日 版 本 號 v1.9 問題描述 建立鏈隊演算法庫 liqueue.h ifndef liqueue h included define liqueue h included include i...
第七周專案2 建立鏈隊演算法庫
問題及描述 檔名稱 sqqueue.cpp,main.cpp,sqqueue.h 完成日期 2015年10月12日 版本號 vc6.0 問題描述 定義鏈隊儲存結構,實現其基本運算,並完成測試。liqueue.h ifndef liqueue h included define liqueue h i...
第七周 專案2 建立鏈隊演算法庫
問題及 檔名稱 test.cpp 作 者 劉磊 完成日期 2015.10.12 版 本 號 v1.0 問題描述 輸入描述 程式輸出 include include liqueue.h int main printf n printf 9 釋放鏈隊 n destroyqueue q return 0 ...