编写一个函数,以一个单链表头指针为参数,函数返回值为链表节点个数,并输出节点个数
时间: 2024-02-01 16:15:27 浏览: 80
编写一个计算头指针为h的单链表长度的算法.ppt
下面是一个用C++语言实现的单链表节点数计算函数:
```cpp
#include<iostream>
using namespace std;
struct ListNode{
int val;
ListNode* next;
ListNode(int x):val(x),next(NULL){}
};
int getCount(ListNode* head){
int count = 0;
ListNode* p = head;
while(p != NULL){
count++;
p = p->next;
}
return count;
}
int main(){
ListNode* head = new ListNode(1);
head->next = new ListNode(2);
head->next->next = new ListNode(3);
head->next->next->next = new ListNode(4);
head->next->next->next->next = new ListNode(5);
int count = getCount(head);
cout<<"链表节点个数为:"<<count<<endl;
return 0;
}
```
在上面的代码中,我们首先定义了一个链表节点结构体 `ListNode`,包括节点的值和指向下一个节点的指针。然后编写了一个函数 `getCount`,用于计算链表节点个数。在函数中,我们定义了一个计数器 `count`,并将头指针 `head` 赋值给临时指针变量 `p`。然后我们使用 `while` 循环遍历整个链表,每遍历一个节点,计数器 `count` 就加1,最终返回计数器的值。在 `main` 函数中,我们创建了一个简单的链表,并调用 `getCount` 函数进行节点数计算。
阅读全文