PAT 1052. Linked List Sorting (25)
来源:互联网 发布:马太效应 知乎 编辑:程序博客网 时间:2024/05/09 15:49
这道题和1074差不多,在一个链表上进行排序
1.首先将在一个链表的分离出来
2.排序
3**注意判断输入为0和输入head不存在的情况**
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<map>using namespace std;struct p{ int add; int Key; int next;}node[100004];bool cmp(p x,p y){ return x.Key < y.Key;}int main(){ int n,head; while(scanf("%d%d",&n,&head) != EOF) { p ListNode[100004]; int cnt = 0; for(int i = 0; i < n; i++) { int x; scanf("%d",&x); node[x].add = x; scanf("%d%d",&node[x].Key,&node[x].next); } while(head != -1)//将在一个链表的节点取出 { if(head == node[head].add) { ListNode[cnt++] = node[head]; head = node[head].next; }else break; } if(cnt == 0)//判断0的情况 { printf("0 -1\n"); continue; } sort(ListNode,ListNode+cnt,cmp);//排序 printf("%d %05d\n",cnt,ListNode[0].add); for(int i = 0; i < cnt-1; i++) printf("%05d %d %05d\n",ListNode[i].add,ListNode[i].Key,ListNode[i+1].add); printf("%05d %d -1\n",ListNode[cnt-1].add,ListNode[cnt-1].Key); } return 0;}
0 0
- 1052. Linked List Sorting (25)-PAT
- 【PAT】1052. Linked List Sorting (25)
- PAT (Advanced) 1052. Linked List Sorting (25)
- PAT A 1052. Linked List Sorting (25)
- PAT 1052. Linked List Sorting (25)
- PAT 1052. Linked List Sorting (25)
- PAT 1052. Linked List Sorting (25)
- PAT(A) - 1052. Linked List Sorting (25)
- 【PAT甲级】1052. Linked List Sorting (25)
- 1052. Linked List Sorting (25) PAT甲级
- PAT甲级1052. Linked List Sorting (25)
- PAT-A-1052. Linked List Sorting (25)
- PAT 1052. Linked List Sorting (25)
- PAT 甲级 1052. Linked List Sorting (25)
- PAT甲级 1052. Linked List Sorting (25)
- PAT 1052. Linked List Sorting
- 【PAT】1052. Linked List Sorting
- PAT--1052. Linked List Sorting
- 装饰器
- 1018. Public Bike Management (30)
- Android开发学习笔记十 ListView
- C++模板解析
- 斐波那契回调线的三种错误画法
- PAT 1052. Linked List Sorting (25)
- 如何快速清理Exchange Server的SMTP队列
- 网络拍卖系统的设计
- 10570 - Meeting with Al (贪心)
- AOP学习并实践
- 如何清除远程桌面连接记录
- 深入了解信号槽
- iOS Xcode工程目录的 folder 和 group的区别(蓝色和黄色文件夹的区别)
- Android开发学习笔记十一 TreeView