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

2021-08-08 19:49:24 字數 2357 閱讀 3124

/*  

煙台大學計算機學院

檔名稱:xm.cpp

完成日期:2023年9月24日

問題描述:建立單鏈表演算法庫

輸入描述:無

輸出描述:進行了各個的鍊錶的值

*/

list.cpp:

#include #include #include "list.h"

void initlist(linklist *&l)//初始化鍊錶

bool listinsert(linklist *&l,int i,elemtype e)//鍊錶插入

while(jnext;

} if(p==null)//未找到i-1位置結點

else//找到

}

void displist(linklist *l)//輸出鍊錶的元素值

printf("\n");

}

void destroylist(linklist *&l)//銷毀鍊錶

free(pre);

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

} void createlistr(linklist *&l,elemtype a,int n)//尾插法

r->next=null;

}

bool listdelete(linklist *&l,int i,elemtype &e)//刪除鍊錶元素

if(p==null)//p為空,未找到元素

else

e=q->data;//刪除的元素保留到e

p->next=q->next;

free(q);

return true;

} }

main:

#include #include #include "list.h"

int main()

;

printf("頭插法建表結果:");

createlistf(l1,a,8);

displist(l1);

printf("尾插法建表結果:");

createlistr(l2,a,8);

displist(l2);

destorylist(l1);

destorylist(l2);

int b;

linklist *l3;

createlistr(l3,a,8);

listdelete(l3,4,b);

printf("刪除a陣列中的元素:");

printf("%d\n",b);

displist(l3);

printf("插入驗證:");

linklist*l;

initlist(l);

listinsert(l,1,15);

listinsert(l,1,10);

listinsert(l,1,5);

listinsert(l,1,20);

displist(l);

destroylist(l);

return 0;

}

list.h:

#include #include #include #include typedef int elemtype;

typedef struct lnode

linklist;

void initlist(linklist *&l);//初始化鍊錶

bool listinsert(linklist *&l,int i,elemtype e);//鍊錶插入

void displist(linklist *l);//輸出

void destroylist(linklist *&l);//銷毀

void createlistf(linklist *&l,elemtype a,int n);//頭插法

void createlistr(linklist *&l,elemtype a,int n);//尾插法

bool listdelete(linklist *&l,int i,elemtype &e);//元素刪除

執行結果:

學習心得:

學會了建立鍊錶演算法庫。

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

問題 檔名稱 專案2.cbp 作 者 李藝 完成日期 2015年9月25日 版 本 號 v1.0 問題描述 按照 0207將演算法變程式 部分建議的方法,建設自己的專業基礎設施演算法庫。這一周,建的是單鏈表的演算法庫。演算法庫包括兩個檔案 標頭檔案 linklist.h,包含定義順序表資料結構的 巨...

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

檔名稱 專案2 建設 單鏈表 演算法庫.cpp 作 者 高露 完成日期 2015年9月25日 版 本 號 v1.0 問題描述 按照 0207將演算法變程式 部分建議的方法,建設自己的專業基礎設施演算法庫。這一周,建的是單鏈表的演算法庫。演算法庫包括兩個檔案 1.標頭檔案 linklist.h,包含定...

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

1.建立演算法庫過程中,為了完成測試,再同一專案 project 中建立乙個原始檔 如main.cpp 編制main函式,完成相關的測試工作。檔名稱 123.cpp 完成日期 2015.9.25 版本號 v1.0 問題描述 採用程式的多檔案組織形式,建立linklist.h,linklist.cpp...