單鏈表的增刪查改

2021-10-08 06:05:29 字數 2251 閱讀 1327

鍊錶是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。

鍊錶由一系列結點(鍊錶中每乙個元素稱為結點)組成,結點可以在執行時動態生成。

每個結點包括兩個部分:資料域和指標域

特點:1)可以方便的進行擴充。

2)可以方便的刪除和插入。

**例子如下:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

//定義結構體表示單鏈表

struct node

;//初始化鍊錶

struct node *

list_init()

return head;

}//新建節點

struct node *

new_node

(int n)

return new;

}//插入資料於末尾

void

inter_node

(struct node *new,

struct node *head)

tail->next = new;

new->next =

null

;}

刪除鍊錶的另外一種方法:

//單鏈表的刪除,用兩個指標解決

intremove_list

(int deldata,

struct siglelist *head)

else

}//經過仔細分析,發現前面的迴圈漏掉了最後乙個資料沒有判斷,沒有刪除

if(p->next==

null

&& p->data==deldata)

if(flag==

0&& p->next==

null

&& p->data!=deldata)

}

//刪除指定資料

void

del(

struct node *head,

int deldata)

if(p->data == deldata)

}void

fine

(struct node *head,

int data)

if(p->data == data)

else

printf

("沒有找到資料%d\n"

, data);}

//更改資料

void

chang

(struct node *head,

int old,

int new)

if(p->data == old)

else

}//判斷鍊錶是否為空

bool empty

(struct node *head)

//列印鍊錶

void

show

(struct node *head)

while

(head->next !=

null

)}

主函式如下:

int

main()

printf

("-----插入資料!------\n");

show

(head)

;printf

("-------刪除資料6!------\n");

del(head,6)

;show

(head)

;printf

("-------查詢資料7!--------\n");

fine

(head,7)

;printf

("-------更改資料2->3-----\n");

chang

(head,2,

3);show

(head)

;return

0;}

以上為個人學習筆記,僅供參考!

單鏈表的增刪查改

include includetypedef struct nodenode,linklist int num 查詢給定值的結點,返回結點指標 node findvalue char c,node head return head 查詢給定位置的結點的值 char findindex value n...

單鏈表的增刪查改

本篇部落格主要介紹c資料結構中的單鏈表有關的增刪查改操作,並且介紹列表的快慢指標,鍊錶的逆置和合併等用法,廢話不說直接上 pragma once include include include typedef int datetype typedef struct plistnode plistno...

單鏈表的實現(增 刪 查 改功能)

標頭檔案函式 ifndef slistnode h define slistnode h typedef int datatype typedef struct slistnode slistnode slistnode buyslistnode datatype x void slistprint...