第四周 專案四 建立雙鏈表演算法庫

2021-07-23 01:36:10 字數 2455 閱讀 9224

/*   

*煙台大學計控學院

*作 者:王力源

*完成日期:2023年9月23日

*問題描述:雙鏈表演算法庫演算法庫採用程式的多檔案組織形式,包括兩個檔案:

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

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

*/

(1) 標頭檔案

#include#includetypedef int elemtype;

typedef struct dnode //定義雙鏈表結點型別

dlinklist;

void createlistf(dlinklist *&l,elemtype a,int n);//頭插法建雙鏈表

void createlistr(dlinklist *&l,elemtype a,int n);//尾插法建雙鏈表

void initlist(dlinklist *&l); //初始化雙鏈表

void destroylist(dlinklist *&l); //銷毀雙鏈表

bool listempty(dlinklist *l); //判斷鍊錶是否為空

int listlength(dlinklist *l); //求鍊錶的長度

void displist(dlinklist *l); //輸出鍊錶

bool getelem(dlinklist *l,int i,elemtype &e); //獲取節點的值

int locateelem(dlinklist *l,elemtype e); //查詢乙個節點

bool listinsert(dlinklist *&l,int i,elemtype e) ;//插入乙個節點

bool listdelete(dlinklist *&l,int i,elemtype &e); //刪除乙個節點

(2)各個函式的**

#include"list.h"

void createlistf(dlinklist *&l,elemtype a,int n)//頭插法建雙鏈表

}void createlistr(dlinklist *&l,elemtype a,int n)//尾插法建雙鏈表

r->next=null;

}void initlist(dlinklist *&l)//初始化雙鏈表

void destroylist(dlinklist *&l) //銷毀雙鏈表

free(p);

}bool listempty(dlinklist *l) //判斷鍊錶是否為空

int listlength(dlinklist *l) //求鍊錶的長度

return(i);

}void displist(dlinklist *l) //輸出鍊錶

printf("\n");

}bool getelem(dlinklist *l,int i,elemtype &e) //獲取節點的值

if (p==null)

return false;

else

}int locateelem(dlinklist *l,elemtype e) //查詢乙個節點

if (p==null)

return(0);

else

return(n);

}bool listinsert(dlinklist *&l,int i,elemtype e)

if (p==null) //未找到第i-1個結點

return false;

else //找到第i-1個結點*p

}bool listdelete(dlinklist *&l,int i,elemtype &e)

if (p==null) //未找到第i-1個結點

return false;

else //找到第i-1個結點*p

}

(3)測試函式**

第四周專案4 建立雙鏈表演算法庫

ifndef dlinklist h included define dlinklist h included typedef int elemtype typedef struct dnode 定義雙鏈表結點型別 dlinklist void createlistf dlinklist l,ele...

第四周專案4 建立雙鏈表演算法庫

先是 ac shuanglist.cpp include shuanglist.h includeusing namespace std void creat dlinknode head,int num 這個是尾插法建立起來的雙鏈表 void creat dlinknode head,int nu...

第四周專案四 建設雙鏈表演算法庫

檔名稱 test.cpp 完成日期 2015年10月9日 版本號 vc 6.0 問題描述 建設雙鏈表演算法庫。1.標頭檔案 dlinklist.h,包含定義雙鏈表資料結構的 巨集定義 要實現演算法的函式的宣告 ifndef dlinklist h included define dlinklist ...