1133. Splitting A Linked List (25)[链表处理]
2017-11-10 17:33
411 查看
1. 原题: https://www.patest.cn/contests/pat-a-practise/1133
2. 思路:
题意:链表处理题将一杂乱的链表按照一定格式(负的在前,大于给定值的在后)重新排列。
思路:
先把每个结点存储在数组里,
然后遍历3次,存入vector里,最后输出即可。
已AC
3. 源码
#include <iostream> #include <vector> using namespace std; struct Node { int local; int data; int next; }; Node dt[100000]; int main() { //freopen("in.txt", "r", stdin); int N, head, K, tmp; vector<Node> re; scanf("%d %d %d", &head, &N, &K); for (int i = 0; i < N; i++) { scanf("%d", &tmp); dt[tmp].local = tmp; scanf("%d %d", &dt[tmp].data, &dt[tmp].next); } int adr = head; while (1) //***找出小于0的 { if (adr == -1) break; if (dt[adr].data < 0) re.push_back(dt[adr]); adr = dt[adr].next; } adr = head; while (1) { if (adr == -1) break; if (dt[adr].data > -1 && dt[adr].data < (K+1)) re.push_back(dt[adr]); adr = dt[adr].next; } adr = head; while (1) //***找出大于K的 { if (adr == -1) break; if (dt[adr].data > K) re.push_back(dt[adr]); adr = dt[adr].next; } int size = re.size(); for (int i = 0; i < size-1; i++) { printf("%05d %d %05d\n", re[i].local, re[i].data, re[i+1].local); } printf("%05d %d -1\n", re[size-1].local, re[size-1].data); return 0; }
相关文章推荐
- PAT 1133. Splitting A Linked List (25) 链表的拆分和合并
- 1133. Splitting A Linked List (25)
- PAT 甲级 1133. Splitting A Linked List (25)
- 1133. Splitting A Linked List (25)
- 1133. Splitting A Linked List (25)
- PAT-1133 Splitting A Linked List(链表分解)
- 1133. Splitting A Linked List (25)
- PAT甲级 1133. Splitting A Linked List (25)
- 1133. Splitting A Linked List (25)
- 1133. Splitting A Linked List (25)-PAT甲级真题
- PAT (Advanced Level) Practise 1133 Splitting A Linked List (25)
- 1133. Splitting A Linked List (25)
- PAT - 甲级 - 1074. Reversing Linked List (25)(链表)
- PAT 1074. Reversing Linked List (25)(链表反转)
- pat甲级1074. Reversing Linked List (25)、乙级1025. 反转链表 (25)
- PAT (Advanced Level) 1097. Deduplication on a Linked List (25) 链表去重
- 1025. 反转链表 (25)PAT乙级&&1074. Reversing Linked List (25)PAT甲级
- PAT 1041 Linked List Sorting (25)(链表排序)
- 1097. Deduplication on a Linked List (25)[链表]
- PAT - 甲级 - 1097. Deduplication on a Linked List (25)(链表)