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

2021-08-14 02:43:35 字數 2601 閱讀 5244

/*   

*檔名稱:main.cpp

*作 者:李首言

*完成日期:2023年12月26日

*版本號:v1.0

*

*問題描述:建設雙鏈表演算法庫

*輸入描述:

*程式輸出:見截圖

*/

演算法庫包括兩個檔案: 

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

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

請採用程式的多檔案組織形式,建立如上的兩個檔案,另外再建立乙個原始檔(如main.cpp),編制main函式,完成相關的測試工作。 

//頭插法建雙鏈表

} void createlistr(dlinklist *&l,elemtype a,int n)

//尾插法建雙鏈表

r->next=null; //終端結點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

}dlinklist.h:

#ifndef dlinklist_h_included  

#define dlinklist_h_included

typedef 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); //刪除乙個節點

#endif // dlinklist_h_included

程式截圖:

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

include include typedef int elemtype typedef struct dnode 定義雙鏈表結點型別 dlinklist void createlistf dlinklist l,elemtype a,int n 頭插法建雙鏈表 void createlistr d...

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

問題 檔名稱 專案4.cbp 作 者 李藝 完成日期 2015年10月9日 版 本 號 v1.0 問題描述 演算法庫包括兩個檔案 標頭檔案 dlinklist.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告 原始檔 dlinklist.cpp,包含實現各種演算法的函式的定義 請採用...

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

煙台大學計算機與控制工程學院 並建設自己的專業基礎設施演算法庫 輸入描述 無 輸出描述 輸出插入資料後的逆序 標頭檔案dlinklist.h ifndef dlinklist h included define dlinklist h included typedef int elemtype ty...