資料結構 鍊錶

2021-10-01 20:30:42 字數 2663 閱讀 1259

#include

#include

//重新定義乙個資料型別

typedef

int typedata;

//定義乙個結構體資料型別描述鍊錶

typedef

struct link

link;

/*函式名:create_link

函式功能:建立乙個鍊錶的頭節點

函式引數:無

*/link *

create_link()

return plist;}/*

函式名:show_link

函式功能:顯示鍊錶中的資料

返回值:無

*/void

show_link

(link *plist)

//依次列印表中資料

link *p = plist->pnext;

while

(p)puts(""

);}/*

函式名:cancel

函式功能:銷毀鍊錶

返回值:無

*/void

cancel

(link *plist)

link *p = plist->pnext;

while

(p)free

(plist)

; plist =

null

;return;}

/*函式名:head_insert

函式功能:採用頭插法向鍊錶中插入資料

返回值:成功返回1,失敗返回-1

*/int

insert

(link *plist, typedata newdata,

int set)

link *plink =

(link *

)malloc

(sizeof

(link));

if(null

== plink)

/********** 頭插法 **********/if(

1==set)

/********** 尾插法 **********/

elseif(

0==set)

plink->pnext =

null

; plink->data = newdata;

p->pnext = plink;

}/********** 中間插 **********/

else

plink->data = newdata;

plink->pnext = p->pnext;

p->pnext = plink;}}

/*函式名:look_up

函式功能:查詢鍊錶中的元素

返回值:成功返回查到的鍊錶結點,失敗返回null

*/link *

look_up

(link *plist, typedata finddata)

link *p = plist;

while

(p->pnext)

}return p;}/*

函式名:inversion

函式功能:鍊錶倒置

返回值:無

*/void

inversion

(link *plist)

link *p = plist->pnext;

plist->pnext =

null

;while

(p)}

/*函式名:delete_link

函式功能:刪除鍊錶中的某乙個結點

返回值:成功返回1,失敗返回-1

*/int

delete_link

(link *plist,

int set)

/********** 頭刪法 **********/

if(set ==0)

/********** 尾刪法 **********/

else

if(set ==1)

p->pnext =

null

;free

(pnext)

; pnext =

null;}

/********** 中間刪 **********/

else

if(set)

p->pnext = pnext->pnext;

free

(pnext)

; pnext =

null;}

return1;

}int

main()

insert

(plist,1,

0);insert

(plist,3,

1);insert

(plist,4,

1);insert

(plist,2,

2);show_link

(plist)

;look_up

(plist,3)

;inversion

(plist)

;delete_link

(plist,2)

;show_link

(plist)

;cancel

(plist)

;return0;

}

資料結構 鍊錶

鍊錶 what 就是一張鏈式儲存的表,是一種資料結構,是基礎,所以還是不要想有什麼用。具體呢?在c中就用結構體實現物件描述,然後通過函式來實現各個基本操作 c 則用類來表述,c中的結構體就可以看成c 中的類,然後通過類封裝各個操作步驟。這些操作實現後就需要 來測試,號稱demo,就是main函式裡面...

資料結構 鍊錶

鍊錶中的資料是以節點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。鍊錶的結點結構 data next data域 存放結點值的資料域 next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 以 結點的序列 ...

資料結構 鍊錶

一般的建立線性鍊錶有兩種 1.正序法 需要三個指標,head作為頭指標,pre作為前乙個指標,cur作為當前指標用來建立空間 2.倒序法,利用指標的插入,只需要兩個指標,不斷的往頭指標後插入新空間,不過插入的越早,離頭指標越遠,也就越後面輸出 1.線性鍊錶的建立及查詢刪除 include inclu...