编写带头结点的单链表中统计结点个数的算法。
时间: 2024-03-08 13:50:49 浏览: 74
带头结点的单链表的c算法实现
好的,下面是带头结点的单链表中统计结点个数的算法,具体实现可以参考以下代码:
```
int count(ListNode* head){
int cnt = 0;
ListNode* p = head->next;
while(p != NULL){
cnt++;
p = p->next;
}
return cnt;
}
```
解释一下这个算法的实现过程:
1. 定义一个计数器 cnt,初始化为 0。
2. 定义一个指针 p,指向头结点的下一个结点。
3. 当 p 不为空时,执行以下操作:
- 将计数器 cnt 加 1。
- 将指针 p 指向下一个结点。
4. 返回计数器 cnt 的值,即为单链表中结点的个数。
带头结点的单链表中,头结点不算作一个有效的结点,因此统计结点个数时需要从头结点的下一个结点开始遍历。
阅读全文