#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...