单链表中数据原来是非递减排列的数据,请设计算法实现将其数据原地逆置
提示:要有create函数进行单链表的建立
2条回答 默认 最新
- 技术专家团-小桥流水 2021-11-18 08:30关注
代码如下:
#include <stdio.h> #include <stdlib.h> typedef int datatype; typedef struct link_node { datatype info; struct link_node* next; }node,*linklist; linklist createList() { datatype x; linklist L; char ch; L = (linklist)malloc(sizeof(node)); if (L == NULL) { printf("error"); return 0; } linklist n,p; p = L; printf("请输入整数系列:\n"); //输入系列并以回车结束 while(1) { scanf_s("%d",&x,1); n = (linklist)malloc(sizeof(node)); n->info = x; n->next = NULL; p->next = n; p = n; if( (ch=getchar()) == '\n') break; } return L; } void print(linklist head) { linklist p; p = head->next; while(p) { printf("%d ",p->info); p = p->next; } printf("\n"); } //翻转 linklist reverse(linklist head) { linklist p,t,k; p = head->next; t = p->next; p->next = NULL; while(t) { k = t->next; head->next = t; t->next = p; p = t; t = k; } return head; } //释放内存 void release(linklist head) { linklist p; while(head) { p = head->next; free(head); head = p; } } int main() { linklist head = createList(); print(head); head = reverse(head); printf("逆序后:"); print(head); release(head); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 神经网络预测均方误差很小 但是图像上看着差别太大
- ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
- ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
- ¥15 如何在炒股软件中,爬到我想看的日k线
- ¥15 seatunnel 怎么配置Elasticsearch
- ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
- ¥15 (标签-MATLAB|关键词-多址)
- ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
- ¥500 52810做蓝牙接受端
- ¥15 基于PLC的三轴机械手程序