02-线性结构3 Reversing Linked List (25 分)
如果 单纯从做题角度来讲,上一个做法当然没问题,可是目的是为了练习静态链表,so还是不要投机取巧了,静态链表解法如下:
#include <stdio.h>
struct data
{int n;int next;} ss[100000];int find(int first);int reverse(int first,int sum,int k);void print(int first);int main(){int i,j;int first,sum,k;scanf("%d%d%d",&first,&sum,&k);for(i=0;i<sum;i++){scanf("%d",&j);scanf("%d%d",&ss[j].n,&ss[j].next);}sum=find(first);if(k>1){first=reverse(first,sum,k); }print(first);return 0;}int find(int first){int i=1;while(ss[first].next!=-1){first=ss[first].next;i++;}return i;}int reverse(int first,int sum,int k)//只解释这个主要函数。 {int i;int head;int p1,p2,p3;//p1,p2,p3轮替使指针移位,并且交换指针。 int firstend=first;//记录上一次的末尾,以便跟这一次的头相连。 for(i=0;i<sum/k;i++){int key=k;key--;p2=first;p3=ss[first].next;while(key--)//循环交换。 {p1=p2;p2=p3;p3=ss[p2].next;ss[p2].next=p1;}if(i==0)//第一次时无需连接上一次的未和这一次的头,且要返回新的头指针 {head=p2;if(p3!=-1){first=p3;}else{ss[first].next=-1;}}else{ss[firstend].next=p2;firstend=first;if(p3!=-1){first=p3;}else{ss[first].next=-1;}}}if(p3!=-1)//跳出for循环而不空,直接相连即可。 {ss[firstend].next=p3;}return head;}void print(int first){while(ss[first].next!=-1){printf("%05d %d %05d\n",first,ss[first].n,ss[first].next);first=ss[first].next;}printf("%05d %d %d\n",first,ss[first].n,ss[first].next);}
02-线性结构3 Reversing Linked List (25 分)相关推荐
- 1074 Reversing Linked List (25 分) java 题解
Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elem ...
- (c语言)Reversing Linked List (25分)
关于数据结构Mooc后的每一道答案 基本我都已经给出了详解 希望能对大家有所帮助 收藏一下也是方便大家查找吧 希望大家一起进步! (c语言)浙大数据结构Mooc作者答案集 下面是关于这道题的图片 关于 ...
- 1074 Reversing Linked List (25 分)【难度: 一般 / 知识点: 链表】
https://pintia.cn/problem-sets/994805342720868352/problems/994805394512134144 乙级里面的原题吧,就用哈希表建链表,reve ...
- [PAT] 02-线性结构2 Reversing Linked List(单向链表的逆转) - C语言实现
今天突然想起自己的cnblog有差不多一年没更了?放一道很久前做的也写好了很久但是一直忘记发布的题.如果有不同的算法欢迎分享~ [PAT]02-线性结构2 Reversing Linked List ...
- 02-线性结构3 Reversing Linked List
02-线性结构3 Reversing Linked List(25 分) Given a constant K and a singly linked list L, you are supposed ...
- 附加3 Merging Linked Lists (25 分)
Given two singly linked lists L 1=a 1 →a 2 →⋯→a n−1 →a n and L 2 =b 1 →b 2 →⋯→b m−1 →b m . If n≥2m ...
- 每隔k次反转一次 链表_PTA 5-2 Reversing Linked List (25) [法一] - 线性表 - 链表反转 (PAT 1074)...
Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elem ...
- PAT 1074. Reversing Linked List (25)
Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elem ...
- 1074. Reversing Linked List (25)
Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elem ...
最新文章
- 不做调参侠,重视数据及处理能力?吴恩达发起的Data-Centric赛事总结!
- 深度学习之PyTorch物体检测
- AI:周志华老师文章《关于强人工智能》的阅读笔记以及感悟
- 全球农业资源利用与粮食安全研讨会 国际农民丰收节贸易会
- 【Postgresql】use
- “约见”面试官系列之常见面试题之第一百零一篇之vue-router传参(建议收藏)
- 信奥中的“骗”分神技 ---“打表”
- 魅族回应 “暗中给手机植入木马”;前谷歌AI伦理专家遭解雇或因论文;GoLand 2020.3发布|极客头条...
- 上线一套 BI 系统到底需要多少钱???
- 苹果主题商店_看厌了官方皮肤,快试试微信QQ半透明主题!不仅会动还有声音!...
- Linux Block Driver - 1
- Android HttpClient及连接管理器
- 手把手教你关闭iphone系统自动下载(新增IOS11描述性文件地址)
- PS制作橙子鱼缸、折纸效果字
- js 打开视频文件,测试已通过
- [VS报错] 应用程序无法正常启动0xc000007b -- 解决措施
- 笔记本电脑重装win10系统图文并茂详细操作教程(U盘重装系统)
- css backdrop-filter属性 用来做图片的部分模糊效果
- 2017cad光标大小怎么调_cad十字光标怎么调大-调整cad十字光标大小的方法 - 河东软件园...
- 部落节点和跨群集搜索:Elasticsearch中联合搜索的未来