C语言实现单链表创建、遍历与节点查找:附完整代码解析
以下是使用C语言创建单链表,并实现遍历和查找节点的代码: ```c #include <stdio.h> #include <stdlib.h> typedef struct Node { int data; struct Node* next; } Node; Node* createNode(int data) { Node* newNode = (Node*)malloc(sizeof(Node)); if (!newNode) { printf("Memory error "); return NULL; } newNode->data = data; newNode->next = NULL; return newNode; } Node* createList(int data[], int length) { Node *head, *temp; head = temp = createNode(data[0]); for (int i = 1; i < length; i++) { temp->next = createNode(data[i]); temp = temp->next; } return head; } void printList(Node* head) { Node* temp = head; while (temp != NULL) { printf("%d ", temp->data); temp = temp->next; } printf(" "); } Node* searchNode(Node* head, int x) { Node* temp = head; while (temp != NULL) { if (temp->data == x) return temp; temp = temp->next; } return NULL; } int main() { int data[] = {1, 2, 3, 4, 5}; Node* head = createList(data, 5); printList(head); Node* result = searchNode(head, 3); if (result != NULL) printf("Found node with data %d ", result->data); else printf("No node found with the given data "); return 0; } ``` 在这段代码中,我们首先定义了一个结构体`Node`来表示链表的节点。然后,我们实现了`createNode`函数来创建一个新的节点,`createList`函数来创建一个链表,`printList`函数来打印链表的所有元素,以及`searchNode`函数来查找具有特定数据的节点。 ######[AI写代码神器 | 528点数解答 | 2024-06-21 21:31:40]
- C++实现顺序存储结构基本操作:初始化、插入、删除等全解析(GPT | 1743点数解答 | 2024-09-26 00:20:17)296
- Java顺序表源码深度解析:从内存布局到扩容机制与Windows实战指南(阿里通义 | 2528点数解答 | 2026-04-01 10:06:46)23
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371
- C语言实现多班级学生信息管理系统:含增删改查与多样排序功能(GPT | 2547点数解答 | 2024-12-15 22:08:58)371
- C语言实现学生信息管理系统:含增删改查与多种排序功能(GPT | 6408点数解答 | 2024-12-15 22:10:03)366
- 微信收款助手监控程序代码剖析:功能、问题与改进方向(DeepSeek | 282点数解答 | 2025-04-11 00:32:28)220
- Java 创建 HTTP POST 请求实现文件上传:代码示例与注意要点 (字节豆包 | 300点数解答 | 2024-12-06 16:07:20)353
- JS 巧用 for in 循环逐行输出对象 key:value,还有关键判断!( | 208点数解答 | 2024-05-20 22:15:55)375
- C#工程师必知:数组、链表、哈希、队列、栈数据结构优缺点大揭秘! (百度文心 | 561点数解答 | 2023-11-09 17:56:30)275
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)302
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)323
- Java 实现仿 Windows 资源管理器:文件管理器功能全解析与代码示例(字节豆包 | 623点数解答 | 2025-01-01 14:59:04)268