设计一个完整的c语言程序,统计单链表L中含有多少个x
时间: 2024-05-05 07:17:52 浏览: 53
好的,以下是一个设计完整的C语言程序,可以统计单链表L中含有多少个x的代码:
```
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构体
struct Node {
int data; // 节点数据
struct Node* next; // 指向下一个节点的指针
};
// 统计单链表L中含有多少个x
int countX(struct Node* L, int x) {
int count = 0; // 计数器
while (L != NULL) { // 遍历链表
if (L->data == x) { // 找到x
count++; // 计数器加1
}
L = L->next; // 移动到下一个节点
}
return count; // 返回统计结果
}
int main() {
// 创建一个包含10个元素的单链表
struct Node* head = (struct Node*)malloc(sizeof(struct Node));
head->data = 5;
head->next = NULL;
for (int i = 1; i < 10; i++) {
struct Node* node = (struct Node*)malloc(sizeof(struct Node));
node->data = i % 3;
node->next = head;
head = node;
}
// 统计单链表head中有多少个2
int x = 2;
int result = countX(head, x);
printf("单链表中包含%d个%d\n", result, x);
// 释放链表内存
while (head != NULL) {
struct Node* temp = head;
head = head->next;
free(temp);
}
return 0;
}
```
请问还有什么其他问题需要我回答吗?