第四周 專案四 單鏈表演算法庫

2021-07-22 23:45:40 字數 2574 閱讀 1907

問題及**

*all right reserved.

*檔名稱:雙鏈表演算法庫.cpp

*完成日期;2023年9月22日

*版本號;v1.0

* *問題描述:  用多檔案函式建立雙鏈表演算法庫

*輸入描述:根據主函式而定,這裡是插入數字與計數

*程式輸出:數字長度和插入數字後的數字排列

*/

**

#include #include #include"dlinklist.h"

int main()

; initlist(a);

createlistf(a, a, 10);

printf("length: %d\n", listlength(a));

listinsert(a, 4, 12);

printf("after insert: ");

displist(a);

destroylist(a);

return 0;

}

//標頭檔案**

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

//自定義函式實現**

#include #include #include"dlinklist.h"

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

//頭插法建雙鏈表

}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

}

執行結果:

知識點總結及心得體會:

運用多檔案函式構建雙鏈表演算法庫,既方便又好用。

加深了對雙鏈表的理解有利於進一步掌握雙鏈表。

第四周專案 建設「單鏈表」演算法庫

原始檔 include include include linklist.h void createlistf linklist l,elemtype a,int n 頭插法建立單鏈表 void createlistr linklist l,elemtype a,int n 尾插法建立單鏈表 r n...

第四周專案二 單鏈表演算法庫

問題及 main.cpp all right reserved.檔名 main.cpp list.h list.cpp 完成日期 2017年9月21日 版本號 v1.0 問題描述 單鏈表演算法庫 輸入描述 無 程式輸出 見視窗 include include include linklist.h i...

第四周專案2 單鏈表演算法庫

搞了好長時間才完成的 main.cpp include include danlist.h using namespace std int main r next null int lianbiaochang danlist p return h 1 void danempty danlist p ...