编写一个函数,以一个单向链表的头指针做参数,函数返回值是这个链表的节点个数。
时间: 2024-02-01 11:14:52 浏览: 41
下面是一个示例代码,实现了计算单向链表节点个数的功能:
```c++
#include<iostream>
using namespace std;
//定义链表节点
struct ListNode{
int val;
ListNode* next;
ListNode(int x):val(x),next(NULL){} //构造函数
};
int getListNodeNum(ListNode* head){
int count = 0; //记录节点个数的变量
ListNode* cur = head; //定义一个指针,指向链表头节点
//遍历链表,直到指针指向链表尾节点
while(cur != NULL){
count++; //节点个数加1
cur = cur->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);
//计算链表节点个数
int count = getListNodeNum(head);
cout<<"链表节点个数:"<<count<<endl;
return 0;
}
```
在上述代码中,我们使用一个指针 `cur` 遍历整个链表,每次遍历到一个节点时,节点个数 `count` 加1。最后返回节点个数即可。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)