用C++编写一个程序,已知带头结点的单链表L,统计查找元素e的个数
时间: 2024-09-25 19:19:08 浏览: 47
在C++中,你可以通过遍历链表的方式来统计一个给定元素`e`在链表`L`中出现的次数。首先,你需要定义一个链表节点结构体,并包含一个指向下一个节点的指针。接下来,创建一个函数来实现这个功能:
```cpp
#include <iostream>
// 定义链表节点结构体
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
// 函数来统计链表中元素e的出现次数
int countOccurrences(ListNode* head, int e) {
if (head == NULL) {
return 0; // 如果链表为空,返回0
}
int count = 0;
ListNode* current = head;
while (current != NULL) {
if (current->val == e) {
count++;
}
current = current->next;
}
return count;
}
int main() {
// 创建你的链表实例,这里假设已经存在并初始化好
ListNode* L = ...; // 你的链表头节点
int elementToFind = e; // 要查找的元素
int occurrences = countOccurrences(L, elementToFind);
std::cout << "元素 " << elementToFind << " 在链表中出现了 " << occurrences << " 次。\n";
return 0;
}
```
在这个程序中,`countOccurrences`函数会遍历链表,每遇到值等于`e`的节点就增加计数器。最后返回这个计数器作为结果。
阅读全文