C标准库search函数与链表查找

avatar
作者
筋斗云
阅读量:0

在C标准库中,有一些函数可以用来进行查找操作,比如bsearch函数可以用来在一个已排序的数组中查找指定元素。另外,C语言中也可以使用链表来实现查找操作。以下是一个简单的使用链表实现查找操作的示例代码:

#include <stdio.h> #include <stdlib.h>  // 定义链表节点结构 typedef struct Node {     int data;     struct Node* next; } Node;  // 添加节点到链表 void append(Node** head, int data) {     Node* new_node = (Node*)malloc(sizeof(Node));     new_node->data = data;     new_node->next = NULL;      // 如果链表为空,直接将新节点设为头节点     if (*head == NULL) {         *head = new_node;         return;     }      // 找到尾节点,并将新节点连接到尾节点     Node* current = *head;     while (current->next != NULL) {         current = current->next;     }     current->next = new_node; }  // 查找节点 Node* search(Node* head, int data) {     Node* current = head;     while (current != NULL) {         if (current->data == data) {             return current;         }         current = current->next;     }     return NULL; }  int main() {     Node* head = NULL;      // 添加一些节点到链表     append(&head, 1);     append(&head, 2);     append(&head, 3);     append(&head, 4);      // 在链表中查找元素     Node* result = search(head, 3);     if (result != NULL) {         printf("Element found: %d\n", result->data);     } else {         printf("Element not found\n");     }      return 0; } 

在上面的示例代码中,我们定义了一个简单的链表结构,并实现了添加节点和查找节点的功能。通过这种方式,我们可以在链表中高效地查找指定元素。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!