阅读量:0
在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。