zoukankan      html  css  js  c++  java
  • PAT甲级1052 Linked List Sorting

    题目https://pintia.cn/problem-sets/994805342720868352/problems/994805425780670464

    题意:

    给定一些内存中的节点的地址,值以及下一节点所在地址。

    要求对给定的头指针表示的链表进行排序。

    思路:

    PAT的题目小细节真的很多啊。这道题要注意有可能有的节点是不在头指针链成的链表里的。

    所以要先遍历一次链表,然后再排序。

     1 #include<cstdio>
     2 #include<cstdlib>
     3 #include<map>
     4 #include<set>
     5 #include<iostream>
     6 #include<cstring>
     7 #include<algorithm>
     8 #include<vector>
     9 #include<cmath> 
    10 #include<stack>
    11 #include<queue>
    12 
    13 #define inf 0x7fffffff
    14 using namespace std;
    15 typedef long long LL;
    16 typedef pair<string, string> pr;
    17 
    18 int n, head;
    19 struct node{
    20     int key;
    21     int nxt;
    22 }l[1000005]; 
    23 struct num{
    24     int add;
    25     int key;
    26 }tmp[100005];
    27 
    28 bool cmp(num a, num b)
    29 {
    30     return a.key < b.key;
    31 }
    32 
    33 int main()
    34 {
    35     scanf("%d%d", &n, &head);
    36     for(int i = 0; i < n; i++){
    37         int a;
    38         scanf("%d", &a);
    39         scanf("%d%d", &l[a].key, &l[a].nxt);
    40     }
    41     
    42     int now = head;
    43     int cnt = 0;
    44     while(now != -1){
    45         tmp[cnt].add = now;
    46         tmp[cnt].key = l[now].key;
    47         now = l[now].nxt;
    48         cnt++;
    49     }
    50     sort(tmp, tmp + cnt, cmp);
    51     if(cnt == 0){
    52         printf("0 -1
    ");
    53     } 
    54     else{
    55         printf("%d %05d
    ", cnt, tmp[0].add);
    56         for(int i = 0; i < cnt - 1; i++){
    57             printf("%05d %d %05d
    ", tmp[i].add, tmp[i].key, tmp[i + 1].add);
    58         }
    59         printf("%05d %d -1
    ", tmp[cnt - 1].add, tmp[cnt - 1].key);
    60     }
    61     
    62     return 0;
    63 }
  • 相关阅读:
    TTreeView.OnCustomDrawItem
    xe Style
    delphi 加密 XOR
    ReportMachine 自定义代码 画细线
    XE 安装后C盘占用太大,C盘空间清理
    FireFox 书签 缓存 路径设置
    Android 照相
    Android手机与服务器(案例一) webservice
    win10/win7 笔记本 开启虚拟无线 批处理
    Delphi XE6打电话
  • 原文地址:https://www.cnblogs.com/wyboooo/p/10439830.html
Copyright © 2011-2022 走看看