C语言实现单链表逆置:含题目剖析与示例代码
这道题需要实现单链表的逆置操作。首先,我们需要定义一个单链表的结构体,包含一个整型数据成员和一个指向下一个节点的指针成员。然后,我们可以通过读取输入数据来建立原单链表,同时记录下最后一个节点的指针。接下来,我们将单链表逆置,即将原链表中每个节点的指针指向它的前一个节点,同时将最后一个节点的指针指向NULL。我们分别输出原单链表和逆置后的单链表的数据。 以下是实现该功能的示例代码: ```c #include <stdio.h> #include <stdlib.h> typedef struct Node { int data; struct Node* next; } Node; Node* createList() { Node* head = NULL; Node* tail = NULL; int num; scanf("%d", &num); while (num != -1) { Node* newNode = (Node*)malloc(sizeof(Node)); newNode->data = num; newNode->next = NULL; if (head == NULL) { head = newNode; tail = newNode; } else { tail->next = newNode; tail = newNode; } scanf("%d", &num); } return head; } Node* reverseList(Node* head) { Node* prev = NULL; Node* curr = head; while (curr != NULL) { Node* next = curr->next; curr->next = prev; prev = curr; curr = next; } return prev; } void printList(Node* head) { Node* curr = head; while (curr != NULL) { printf("--%d", curr->data); curr = curr->next; } printf("\n"); } int main() { Node* head = createList(); Node* reversedHead = reverseList(head); printList(head); printList(reversedHead); return 0; } ``` 运行该程序,输入样例2468 10-1,可以得到输出样例--2--4--6--8--10 --10--8--6--4--2。说明实现成功。 ######[AI写代码神器 | 1128点数解答 | 2024-06-17 15:03:17]
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)53
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)371
- C#工程师必知:数组、链表、哈希、队列、栈数据结构优缺点大揭秘! (百度文心 | 561点数解答 | 2023-11-09 17:56:30)275
- Java 实现仿 Windows 资源管理器:文件管理器功能全解析与代码示例(字节豆包 | 623点数解答 | 2025-01-01 14:59:04)268
- 探寻数组中最长摆动子序列长度:思路剖析与代码优化(GPT | 758点数解答 | 2024-12-23 23:18:29)286
- 独家剖析:求解数组最长摆动子序列长度的代码实现与改进建议(GPT | 350点数解答 | 2024-12-23 23:20:54)284
- Python 基于用户种子随机生成 10 个 8 位密码的实现与要点(字节豆包 | 195点数解答 | 2025-04-15 11:06:06)124
- Three.js 示例代码解析:优化场景渲染与注意要点(字节豆包 | 164点数解答 | 2025-02-27 23:30:20)283
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)342
- 车载系统 UML 类图设计:涵盖 Car、Engine、娱乐系统等的完整类定义与关系解析 (字节豆包 | 760点数解答 | 2024-08-15 22:51:04)328
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)493
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)378