C++,有一个单链表,其头指针为L,编写一个函数计算数据域为x的结点的个数。
时间: 2024-10-11 07:13:14 浏览: 5
在C++中,你可以通过遍历整个链表并检查每个节点的数据域是否等于给定值x来计算数据域为x的节点个数。以下是一个简单的示例函数,它实现了这个功能:
```cpp
#include <iostream>
// 定义链表节点结构
struct ListNode {
int data; // 数据域
ListNode* next; // 指向下一个节点的指针
};
// 函数计算数据域为x的节点个数
int countNodes(ListNode* L, int x) {
int count = 0;
ListNode* current = L;
while (current != nullptr) { // 当链表非空时
if (current->data == x) { // 如果当前节点的数据等于x
count++; // 将计数器加一
}
current = current->next; // 移动到下一个节点
}
return count; // 返回节点的总数
}
// 示例用法
int main() {
ListNode *L = ... // 初始化链表
int x = 5; // 需要查找的数据
int result = countNodes(L, x);
std::cout << "数据域为 " << x << " 的节点有 " << result << " 个。\n";
return 0;
}
```