資料結構與演算法之單鏈表

2021-09-27 22:26:19 字數 1960 閱讀 1275

#include

#include

#define maxsize 100

typedef

int elemtype;

typedef

struct lnode

linknode;

void

createlistf

(linknode *

&l,elemtype a,

int n)

//頭插法建立單鏈表

}void

initlist

(linknode *

&l)void

destroylist

(linknode *

&l)//釋放單鏈表

free

(pre);}

bool listempty

(linknode *l)

//判空

intlistlength

(linknode *l)

//求鍊錶的長度

return

(i);

}void

displist

(linknode *l)

//輸出鍊錶

printf

("\n");

}void

unionlist1

(linknode*la,linknode*lb,linknode *

&lc)

//單鏈表二路歸併演算法

else

}while

(pa!=

null

)while

(pb!=

null

) r->next=

null;}

bool listinsert

(linknode *

&l,int i,elemtype e)

//插入元素

if(p==

null

)return false;

else

}bool listdelete

(linknode *

&l,int i,elemtype &e)

//刪除元素

if(p==

null

)return false;

else

}int

main()

int n2;

//第二個多項式位數

printf

("請輸入n2多項式的係數個數:");

scanf

("%d"

,&n2)

;printf

("請輸入n2多項式的係數"

)for

(int i=

0;i)//建立多項式n2

elemtype e;

initlist

(la)

;//初始化鍊錶

initlist

(lb)

;printf

("初始化完成\n");

createlistf

(l,a,5)

;//依次插入a,b,c,d,e

printf

("頭插入元素後輸出的鍊錶為:\n");

displist

(la)

;//輸出鍊錶la

displist

(lb)

;//輸出鍊錶lb

destroylist

(la)

;//釋放鍊錶la

destroylist

(lb)

;//釋放鍊錶lb

destroylist

(lc)

;//釋放鍊錶lc

printf

("釋放全部鍊錶");

return0;

}

資料結構與演算法之單鏈表

鍊錶的實現 實現單鏈表的 構建 資料新增 資料刪除 返回元素所在位置 資料查詢 返回元素所在的位置 的演算法設計 鍊錶的實現 實現單鏈表的 構建 資料新增 資料刪除 返回元素所在位置 資料查詢 返回元素所在的位置 的演算法設計 include include using namespace std ...

單鏈表(演算法與資料結構)

鍊錶 單鏈表 為每個結點新增1個指標域,每個結點包括兩個域 資料域 存放元素本身資訊 指標域 存放後繼結點的儲存位置 指向鍊錶中第乙個結點的指標,稱為這個鍊錶的頭指標。最後乙個元素的指標不指向任何結點,稱為空指標,圖示中用 表示,在演算法中用 null 表示 帶頭結點的單鏈表 頭結點 可以不存資訊,...

資料結構與演算法 單鏈表

鍊錶是有序的列表,但是它在記憶體中是儲存如下 鍊錶是以節點的方式來儲存的 鍊錶的各個節點不一定是連續儲存的 鍊錶分帶頭結點的鍊錶和不帶頭結點的鍊錶 新增先建立乙個 head 頭結點,作用就是表示單鏈表的頭 後面我們每新增乙個結點,就直接加入到鍊錶的最後 遍歷 通過乙個輔助變數,幫助來遍歷整個鍊錶 第...