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

2021-07-06 01:40:34 字數 1534 閱讀 2755

*題目描述:建立自己的專業演算法庫

***1:標頭檔案**

#ifndef liqueue_h_included

#define liqueue_h_included

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 // liqueue_h_included

***2:部分函式的實現

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

***3:main函式

#include #include "liqueue.h"

int main()

printf("\n");

printf("(9)釋放鏈隊\n");

destroyqueue(q);

return 0;

}

*執行結果:

*知識點總結及心得:

上次在雲班課的答疑區中,自己對乙個問題有疑惑---為什麼不能直接用free進行銷毀,經過老師的解答,自己也只是似懂非懂,然後加上自己在寫博文的實踐中,才真正的了解了原因,因為他的節點並不是連續的,而且鏈隊的頭也有些特殊所以要通過迴圈來乙個個的進行銷毀。這種課上課下結合的方法我覺得對我的幫助很大,這個知識點我的印象很深刻

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

問題及 2015,煙台大學計算機與控制工程學院 完成日期 2015年10月12日 問題描述 定義鏈佇列儲存結構,實現其基本運算,並完成測試。ifndef sqqueue h included define sqqueue h included typedef char elemtype typede...

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

檔名稱 專案2.cbp 作 者 孫立立 完成日期 2015年11月30日 版 本 號 v1.0 問題描述 定義鏈佇列儲存結構,實現其基本運算,並完成測試。輸入描述 無 程式輸出 測試資料 liqueue.h標頭檔案 ifndef sqqueue h included define sqqueue h...

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

問題及描述 煙台大學計算機與控制工程學院 完成日期 2016年10月8號 問題描述 定義鏈隊儲存結構,實現其基本運算,並完成測試。liqueue.h標頭檔案 ifndef sqqueue h included define sqqueue h included include include def...