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)); newNode->data = data; newNode->next = NULL; return newNode; } // 插入节点到链表头部 void insertAtHead(Node head, int data) { Node *newNode = createNode(data); newNode->next = *head; *head = newNode; } // 打印链表 void printList(Node *head) { Node *current = head; while (current!= NULL) { printf("%d ", current->data); current = current->next; } printf("\n"); } // 释放链表内存 void freeList(Node *head) { Node *temp; while (head!= NULL) { temp = head; head = head->next; free(temp); } } int main() { Node *head = NULL; // 初始化为空链表 int num; printf("请输入数据(输入 -1 结束):"); scanf("%d", &num); while (num!= -1) { insertAtHead(&head, num); scanf("%d", &num); } printf("链表内容:"); printList(head); freeList(head); return 0; } ``` 额外需要注意的逻辑点: 1. 要注意内存分配和释放,避免内存泄漏。 2. 处理输入数据时,要做好错误输入的判断和处理。 3. 对于链表的操作,要注意边界情况,如空链表和只有一个节点的情况。 ######[AI写代码神器 | 484点数解答 | 2024-12-18 15:06:33]
- C++ 实现:计算一排鹅与最高、最矮鹅的身高差及代码详解(字节豆包 | 549点数解答 | 2025-11-16 20:19:06)105
- 编程揭秘:计算 𝑛! 在 𝑃 进制下末尾零个数的方法与代码实现(DeepSeek | 549点数解答 | 2026-01-11 17:49:54)63
- Java代码实现从JSON数据中提取ID,涉及“数据”与“项目 - 知识库”结构(字节豆包 | 603点数解答 | 2025-04-15 22:48:51)255
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)380
- 深度揭秘 Oracle Workarea Size Policy:参数调优助力数据库性能飞升(阿里通义 | 372点数解答 | 2024-05-13 10:54:45)254
- Java 创建 HTTP POST 请求实现文件上传:代码示例与注意要点 (字节豆包 | 300点数解答 | 2024-12-06 16:07:20)354
- C#工程师必知:数组、链表、哈希、队列、栈数据结构优缺点大揭秘! (百度文心 | 561点数解答 | 2023-11-09 17:56:30)278
- Java 实现仿 Windows 资源管理器:文件管理器功能全解析与代码示例(字节豆包 | 623点数解答 | 2025-01-01 14:59:04)269
- 重新定义字母大小关系:让 “L 队” 字典序小于 “某 E” 的代码实现与分析(字节豆包 | 595点数解答 | 2025-12-03 19:44:59)83
- 深入解析格雷码生成算法:递归求解与代码实现(DeepSeek | 443点数解答 | 2026-01-05 12:21:49)73
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)350
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)496