第七周專案2 建立鏈隊演算法庫

2021-07-24 11:14:42 字數 2575 閱讀 4664

/*

*檔名稱: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 ...