5-2 Reversing Linked List
来源:互联网 发布:看门狗2低配置怎么优化 编辑:程序博客网 时间:2024/06/16 20:29
点击打开链接
链表的逆转,定义一个结构体来模拟
#include<stdio.h>#include<stdlib.h>#include<iostream>#include<queue>using namespace std;struct node{ int next; int data;}a[100005];int prehead; //指向这一次逆转的最后一个节点int nexthead; //指向下一次逆转的第一个节点int Reverse(int head,int k){ int cnt = 1; int newn = head; int old = a[newn].next; while(cnt < k) { int tmp = a[old].next; a[old].next = newn; newn=old; old = tmp; cnt++; } a[head].next = old; prehead=head; nexthead=old; return newn;}int main(){ int head,n,k; cin>>head>>n>>k; int add,data,next; if(head==-1) { printf("-1\n"); return 0; } for(int i=0;i<n;i++) { cin>>add>>data>>next; a[add].next=next; a[add].data=data; } int p=head; int sum=0; while(p!=-1) { sum++; p = a[p].next; } head = Reverse(head,k); for(int i=1;i<sum/k;i++) { int preshead=prehead; a[preshead].next=Reverse(nexthead,k); } while( a[head].next != -1 ) { printf("%05d %d ",head,a[head].data); printf("%05d\n" ,a[head].next); head = a[head].next; } printf("%05d %d -1",head,a[head].data);}
阅读全文
0 0
- 5-2 Reversing Linked List
- 02-线性结构2 Reversing Linked List
- 02-线性结构2 Reversing Linked List
- 02-线性结构2 Reversing Linked List
- 02-线性结构2 Reversing Linked List
- 02-线性结构2 Reversing Linked List
- 02-线性结构2 Reversing Linked List
- 1074. Reversing Linked List
- Reversing Linked List
- 1074.Reversing Linked List
- Reversing Linked List (25)
- Reversing Linked List
- Reversing Linked List
- Reversing Linked List (25)
- PAT:Reversing Linked List
- 1074. Reversing Linked List
- Reversing Linked List
- PTA Reversing Linked List
- Tensorflow + Mnist (两层CNN,两层全连接)
- WebService之工作原理 一
- eclipse中对相同变量的高亮显示
- python升级引起的pip执行错误
- 帧内预测模式RDO
- 5-2 Reversing Linked List
- Java语言基础——标识符
- c语言的指针数组与数组指针
- R语言包路径
- android 支持多线程和断点续传
- day14_Regex
- Leetcode 146. LRU Cache
- Hystrix系列-5-Hystrix的资源隔离策略
- java集合框架之Set集合实现类性能对比