用C语言写一个函数计算链表有多少节点
时间: 2024-03-09 08:46:44 浏览: 68
单链表基本操作的C语言实现(共20余函数)
假设链表的每个节点定义如下:
```
typedef struct Node {
int data; // 节点的数据
struct Node *next; // 指向下一个节点的指针
} Node;
```
则可以写一个计算链表节点个数的函数如下:
```
int countNodes(Node *head) {
int count = 0; // 计数器初始化为0
Node *p = head; // 从链表头节点开始遍历
while (p != NULL) {
count++; // 遍历每个节点时计数器加1
p = p->next; // 指针移动到下一个节点
}
return count; // 返回计数器的值,即链表节点个数
}
```
该函数接受一个指向链表头节点的指针作为参数,返回链表的节点个数。它使用一个计数器变量count,从头节点开始遍历链表,每遇到一个节点就将计数器加1,直到遍历到链表末尾为止。最后返回计数器的值即可。
阅读全文