1074. Reversing Linked List (25)
来源:互联网 发布:mac磁盘越来越小 编辑:程序博客网 时间:2024/05/16 10:48
//用order记录节点的序号!!!#include<cstdio>#include<algorithm>using namespace std;#define maxn 100010struct Node{ int address,data,next; int order; Node() { address = 0; data = 0; next = -1; order = maxn; }}node[maxn];bool cmp(Node a, Node b){ return a.order < b.order;}int main(){ int N,K,head,head_back,addrss,data,next; int count=0,n=0,p=0; scanf("%d%d%d",&head,&N,&K); head_back = head; for(int i=0; i<N; i++) { scanf("%d%d%d",&addrss,&data,&next); node[addrss].data = data; node[addrss].next = next; node[addrss].address = addrss; } p = head; while (p != -1) { node[p].order = count; count++; p = node[p].next; } n = count; sort(node, node+maxn, cmp); //head = 0; //while (head < n) //{ // printf("%05d %d %05d\n",node[head].address,node[head].data,node[head].next); // head++; //} for(int i=0; i<n/K; i++) { //由于有了order可以使用j-1的地址作为j的下一个地址! for(int j = (i+1)*K-1; j>i*K; j--) { printf("%05d %d %05d\n",node[j].address,node[j].data,node[j-1].address); } printf("%05d %d ",node[i*K].address,node[i*K].data); if(i < n/K -1)//不是最后一块! { printf("%05d\n",node[(i+2)*K-1].address); } else//最后一块 { if(n%K == 0)//是完整块! { printf("-1\n"); } else//剩下的不完整块按正常顺序输出 { printf("%05d\n",node[(i+1)*K].address); for(int i = n/K *K; i<n; i++) { printf("%05d %d ",node[i].address,node[i].data); if(i < n-1) printf("%05d\n",node[i+1].address); else printf("-1\n"); } } } } return 0;}
0 0
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- 1074. Reversing Linked List (25)
- DOM模型演示---增删改查中的查询2
- SmartConfig技术原理
- java
- Android Studio中JNI NDK开发(二)
- Session
- 1074. Reversing Linked List (25)
- codeforce Gym100269F——Flight Boarding Optimization(动态规划)
- HttpClient测试接口的封装(get和post)
- 5-11 关键活动
- QT 将含有中文字符的QString转化为char*类型
- 深入解析MySQL分区(Partition)功能
- 1075. PAT Judge (25)
- [leetcode:python]38.Count and Say
- 如何解决 Notice: Undefined index: submit in D:\wamp\www\bbs\add.php on line 9