問題及**
*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 ...