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

2021-08-09 12:46:02 字數 1507 閱讀 1937

建立鏈隊演算法庫分為以下三個步驟

一、首先建立標頭檔案liqueue.h 在其中定義資料結構並宣告基本運算函式

#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

二、建立原始檔 liqueue .cpp,實現標頭檔案中定義的基本運算函式

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

三、建立main.cpp 用來測試**

#include #include "liqueue.h"

int main()

printf("\n");

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

destroyqueue(q);

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 ...