*題目描述:建立自己的專業演算法庫
***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...