C語言鍊錶的增刪查改 利用指標傳遞實現

2021-10-09 22:21:38 字數 2173 閱讀 4442

鍊錶

typedef

struct linklink;

建立頭尾節點指標

struct link* head;

struct link* end;

宣告我們的多個函式(這裡我多建立了幾個函式,能更方便的實現各種功能)

link*

list_point()

;//申請臨時頭指標

void

list_add

(link*);

//尾新增乙個鍊錶

void

list_input

(int

*, link*);

//指定插入鍊錶

link*

list_find

(int*)

;//找到鍊錶所在位置

void

list_printf()

;//列印全部鍊錶

void

list_delete

(link*);

//刪除指定鍊錶

void

list_change

(link*

, link*);

//修改指定鍊錶

申請臨時頭指標

link*

list_point()

point = head;

return point;

}

這個函式能在我們後邊查詢對應的節點時直接使用,節約**量,比如在插入一段節點時,需要找到要插入節點的位置.

定義新增節點函式

void

list_add

(link* lb)

else

}

找到並返回對應節點指標函式

link*

list_find

(int

* data)

point = point->next;

}return point;

}

利用這個函式,我們能直接得到需要節點的位址

插入節點函式

void

list_input

(int

*data, link* lb_next)

lb_next->next = point->next;

point->next = lb_next;

return

;}

列印全部節點資料

void

list_printf()

printf

("%d"

, point->a)

;return

;}

刪除指定節點函式

void

list_delete

(link* lb)

point->next = lb->next;

}

改變指定節點函式

void

list_change

(link* lb, link* lb_change)

point->next = lb_change;

lb_change->next = lb->next;

}

逐一驗證各個函式

int

main

(int argc,

char

* ar**)

執行結果如下:

由此可見,我們對鍊錶的增刪改查操作都已經通過各個函式實現.因為使用的節點的指標,我們需要先建立乙個結構體才能使用這一系列操作.文中可能存在很多不足之處,往大佬們能指出共同進步!

迴圈鍊錶的增 刪 查 改(c語言)

雙向迴圈鍊錶的增刪查改操作 在鍊錶中增加元素我採用的在乙個數的前面插入,因為是雙向的所以在後面插入也可以,由於上篇部落格寫了乙個單鏈表的增刪查改用的在乙個數的後面插入,所以現在用在前面插入。如下 include include pragma warning disable 4996 typedef ...

鍊錶的增刪查改

include include typedef struct student stu,pstu void list head insert pstu pphead,stu pptail,int i 鍊錶為空,頭尾指標都指向新節點 else 新節點 pnext指向原本頭節點,新節點作為頭節點 void...

C 關於鍊錶的增刪查改

include using namespace std struct listnode void printlist listnode head,int n cout n listnode head new listnode listnode temp new listnode temp head ...