c语言遍历链表中含有指定数据的元素,并打印
时间: 2024-03-15 22:45:33 浏览: 63
用C写的链表的值查询
好的,这里提供一份 C 语言的代码,实现了遍历链表中含有指定数据的元素,并将符合条件的元素打印出来:
```c
#include <stdio.h>
#include <stdlib.h>
// 链表节点结构体
struct Node {
int data;
struct Node* next;
};
// 遍历链表,打印含有指定数据的节点
void printNodes(struct Node* head, int target) {
struct Node* current = head;
int count = 0;
while (current != NULL) {
if (current->data == target) {
printf("Node %d contains the target value %d.\n", count, target);
}
current = current->next;
count++;
}
}
int main() {
// 创建链表
struct Node* head = NULL;
struct Node* second = NULL;
struct Node* third = NULL;
head = (struct Node*)malloc(sizeof(struct Node));
second = (struct Node*)malloc(sizeof(struct Node));
third = (struct Node*)malloc(sizeof(struct Node));
head->data = 1;
head->next = second;
second->data = 2;
second->next = third;
third->data = 2;
third->next = NULL;
// 遍历链表并打印
printNodes(head, 2);
return 0;
}
```
以上代码中,我们定义了一个链表节点的结构体 `Node`,以及一个遍历链表的函数 `printNodes`。在 `main` 函数中,我们创建了一个含有三个节点的链表,并调用 `printNodes` 函数,打印出链表中所有值为 2 的节点。
运行上述代码,输出结果如下:
```
Node 1 contains the target value 2.
Node 2 contains the target value 2.
```
这表示链表中第二个和第三个节点都包含值为 2 的数据。
阅读全文