在C語言中,單鏈表的長度可以通過遍歷鏈表的方式來確定。我們可以定義一個計數器變量,初始值為0,然后使用一個指針指向鏈表的頭節點,通過遍歷鏈表的方式依次訪問鏈表中的每個節點,并將計數器加1,直到遍歷到鏈表的末尾節點為止。最后計數器變量的值就是鏈表的長度。
下面是一個示例代碼,用于計算單鏈表的長度:
#include <stdio.h>
#include <stdlib.h>
// 定義單鏈表節點結構體
typedef struct Node {
int data;
struct Node* next;
} Node;
// 計算單鏈表的長度
int getLinkedListLength(Node* head) {
int count = 0;
Node* current = head;
while (current != NULL) {
count++;
current = current->next;
}
return count;
}
int main() {
// 創建一個簡單的單鏈表
Node* head = (Node*)malloc(sizeof(Node));
Node* second = (Node*)malloc(sizeof(Node));
Node* third = (Node*)malloc(sizeof(Node));
head->data = 1;
head->next = second;
second->data = 2;
second->next = third;
third->data = 3;
third->next = NULL;
// 計算單鏈表的長度
int length = getLinkedListLength(head);
printf("鏈表的長度為:%d\n", length);
// 釋放鏈表的內存
free(head);
free(second);
free(third);
return 0;
}
輸出結果為:
鏈表的長度為:3
在示例代碼中,我們創建了一個包含3個節點的單鏈表,通過調用getLinkedListLength()
函數,可以計算出鏈表的長度為3。