溫馨提示×

c語言單鏈表創(chuàng)建的方法是什么

小億
89
2023-10-16 21:56:38
欄目: 編程語言

創(chuàng)建一個單鏈表的方法可以有多種實現(xiàn)方式,以下是其中的一種常見方法:

  1. 定義一個鏈表節(jié)點的結構體,包含一個數(shù)據(jù)域和一個指向下一個節(jié)點的指針域。
struct Node {
int data;
struct Node* next;
};
  1. 創(chuàng)建鏈表的頭節(jié)點,并初始化為空。
struct Node* head = NULL;
  1. 逐個添加節(jié)點,可以根據(jù)需求選擇從頭部或尾部添加節(jié)點。
  • 從頭部添加節(jié)點:
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));  // 創(chuàng)建新節(jié)點
newNode->data = value;  // 設置節(jié)點的數(shù)據(jù)域
newNode->next = head;  // 將新節(jié)點的指針域指向當前頭節(jié)點
head = newNode;  // 更新頭節(jié)點為新節(jié)點
  • 從尾部添加節(jié)點:
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));  // 創(chuàng)建新節(jié)點
newNode->data = value;  // 設置節(jié)點的數(shù)據(jù)域
newNode->next = NULL;  // 將新節(jié)點的指針域置為NULL
if (head == NULL) {  // 如果鏈表為空,則將新節(jié)點設為頭節(jié)點
head = newNode;
} else {
struct Node* temp = head;
while (temp->next != NULL) {  // 找到最后一個節(jié)點
temp = temp->next;
}
temp->next = newNode;  // 將新節(jié)點連接到最后一個節(jié)點
}
  1. 可以選擇插入節(jié)點、刪除節(jié)點等操作來修改鏈表。

注意:在使用完鏈表后,應該記得釋放內(nèi)存,避免內(nèi)存泄漏。

struct Node* temp = head;
while (head != NULL) {
temp = head;
head = head->next;
free(temp);
}

0