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

2021-07-06 02:40:58 字數 1687 閱讀 2977

/*

檔名稱:專案2.cbp

作    者:畢夢楠

完成日期:2023年10月23日

版 本 號:v1.0

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

輸入描述:無

程式輸出:測試資料

*/

標頭檔案:liqueue.h,包含定義鏈隊資料結構的**、巨集定義、要實現演算法的函式的宣告;

**如下:

#ifndef sqqueue_h_included

#define sqqueue_h_included

#include #include #define maxsize 5

typedef char elemtype;

typedef struct qnode //資料節點

qnode;

typedef struct //鏈隊節點

liqueue;

void initqueue(liqueue *&q); //初始化鏈隊

void destroyqueue(liqueue *&q); //銷毀鏈隊

bool queueempty(liqueue *q); //判斷鏈隊是否為空

int  queuelength(liqueue *q);   //返回佇列中元素個數,也稱佇列長度

void enqueue(liqueue *&q,elemtype e);   //進隊

bool dequeue(liqueue *&q,elemtype &e);  //出隊

#endif // sqqueue_h_included

原始檔:liqueue.cpp,包含實現各種演算法的函式的定義

**如下:

//鏈隊基本運算函式

#include "liqueue.h"

void initqueue(liqueue *&q)  //初始化鏈隊

void destroyqueue(liqueue *&q)  //銷毀鏈隊

}free(p);

free(q);                //釋放鏈隊節點占用空間

}bool queueempty(liqueue *q)  //判斷鏈隊是否為空

int queuelength(liqueue *q)  //返回佇列中資料元素個數

return(n);

}void enqueue(liqueue *&q,elemtype e)  //入隊

}bool dequeue(liqueue *&q,elemtype &e)   //出隊

main.cpp**:

#include "liqueue.h"

int main()

printf("\n");

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

知識點總結:

在順序佇列的基礎上定義鏈隊演算法庫要理解鍊錶與順序表的區別來對其中相應函式的修改。

學習心得:

體會到了鏈隊演算法庫和環形佇列演算法庫的區別。

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

1.標頭檔案 liqueue.h,包含定義鏈隊資料結構的 巨集定義 要實現演算法的函式的宣告 typedef char elemtype typedef struct qnode qnode 鏈隊資料結點型別定義 typedef struct liqueue 鏈隊型別定義 void initqueu...

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

檔名稱 h1.cpp 完成日期 2015年10月13日 版本號 code block 問題描述 定義佇列的鏈式儲存結構,實現其基本運算,並完成測試。輸入描述 無 程式輸出 隊表的結果 include include typedef char elemtype typedef struct qnode...

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

問題 檔名稱 專案2.cbp 作 者 王聰 完成日期 2015年10月15日 版 本 號 v1.0 問題描述 定義鏈佇列儲存結構,實現其基本運算,並完成測試。輸入描述 無 程式輸出 測試資料 架構 typedef struct qnode 資料節點 qnode typedef struct 鏈隊節點...