C語言鍊錶四大操作 建立 釋放 插入和刪除

2021-09-28 15:08:45 字數 1857 閱讀 9358

功能都封裝在函式裡且注釋清楚,有需要直接轉介面或者呼叫即可。

#include

typedef

struct tagnode list;

/* 輸入:構建鍊錶長度len

功能:建立順序單鏈表

*/void

createlist

(list *current,

int len)

scanf

("%d"

,&temp->val)

; temp->next =

null

; current->next = temp;

current = current->next;}}

/* 輸入:head原鍊錶的頭節點

功能:順序列印鍊錶的節點

*/void

display

(list *head)

while

(current !=

null

)printf

("\n");

}/*輸入:head原鍊錶的頭節點

功能:釋放鍊錶空間

*/void

freelist

(list *head)

while

(head !=

null

) head = head->next;

free

(current);}

}/*輸入:head原鍊錶的頭節點

pos節點位置

功能:刪除pos位置的節點

*/void

deletenode

(list *head,

int pos)

list *current = head;

int i =1;

while

(i < pos)

current = current->next;

i++;}

current->next = current->next->next;}/*

輸入:head原鍊錶的頭節點

nodevalue插入節點的值

pos節點位置

功能:在head鍊錶中pos位置插入值為nodevalue的節點

*/void

insertnode

(list *head,

int nodevalue,

int pos)

current = current->next;

i++;}

newnode->next = current->next;

current->next = newnode;

}int

main()

list *head = current;

createlist

(current,listcount)

;// 構建鍊錶

display

(head)

;// 原鍊錶

deletenode

(head,2)

;display

(head)

;// 刪除位置為2的及節點節點

insertnode

(head,8,

2);display

(head)

;// 插入位置為2,數值為8的節點

freelist

(head)

;system

("pause");

return0;

}

main函式測試樣例為:123

鍊錶基本操作(建立,插入,查詢,刪除) C語言

工具 xcode main.c node include include typedef struct studentstu pragma mark 鍊錶的建立 if0 頭插入法建表 stu creat linklist int n else return head else 尾插入建表 stu c...

C語言鍊錶插入

題目如下 輸入 多組 不超過 5 組 資料。每組輸入資料分為三行,第一行有兩個數字 n,m 0 n,m leq10000 分別表示集合 a 和集合 b 的元素個數。後兩行分別表示集合 a 和集合 b。每個元素為不超出 int 範圍的整數,每個元素之間有乙個空格隔開。輸出 針對每組資料輸出一行資料,表...

C語言鍊錶的插入和刪除 建立

choicetxt.h 執行要重複的 選擇執行的醒目並將結果付給choice include stdio.h int choicetxt int choice else creat.c include stdio.h include stdlib.h include define.h extern ...