C語言 單鏈表內節點的插入

2021-07-22 17:30:06 字數 1838 閱讀 1161

1.插在鍊錶開頭

新的節點插入到鍊錶的開頭,需要將新節點的指標指向鍊錶的首節點,並將鍊錶的首節點設為新節點。

2.插在鍊錶中間

新的節點插入到鍊錶的中間,如果我們找到pointer節點,則需要將新節點的指標指向pointer節點的指標(即下乙個節點),但不能讓鍊錶斷裂。所以第一步必須將新節點的指標指向pointer節點的指標,第二步再講pointer節點的指標指向新節點。

3,插在鍊錶尾端

新的節點插入到鍊錶的尾端(pointer節點),所以第一步必須將新節點的指標指向pointer節點的指標(null),第二步再將pointer節點的指標指向新節點

示例:設計乙個鍊錶內節點插入的程式。

#include #include #define max 10

struct list

;typedef struct list node;

typedef node *link;

int data[2][max] = ;

/**********************

* 插入節點至鍊錶內

**********************/

link insert_list(link head, link new, int key)

if(pointer->number == key) //插在鍊錶中間或尾端

pointer = pointer->next; //往下乙個節點 }

return head;

}/**********************

* 釋放鍊錶

*********************/

link free_list(link head) }

/**********************

* 輸出鍊錶

*********************/

link print_list(link head)

printf("\n");

}/**********************

* 建立鍊錶

*********************/

link create_list(link head)

else }

return head;

}int main()

free_list(head); //釋放鍊錶 }

return 0;

}

C語言實現單鏈表的節點插入(帶頭結點)

我在之前一篇部落格 c語言實現單鏈表 不帶頭結點 節點的插入 中詳細實現了如何在乙個不帶頭結點的單鏈表中進行節點的插入。但是在實際應用中,帶頭結點的鍊錶更為常用,更為方便。今天我們就要來使用帶頭結點的單鏈表進行節點的插入。示例 上傳至 核心 如下 node insertnode node pnode...

單鏈表插入新節點問題

insetnodeerror函式內直接定義乙個lnode結構體,而insetnode使用的是結構體指標 最終在vs2017上第一種在列印輸出時失敗,第二種正常。int insetnodeerror linklist l,int i,elemtype e s.next p next p next s ...

往單鏈表中插入節點

package testtwo.demo1 public class node 給節點新增下 下 乙個節點 node node currentnode currentnode.next currentnode.next node return currentnode.next 判斷當前節點是否為最後...