PATグレード--A1052は、リストの並べ替えをリンク

リンクされたリストは、メモリ内に必ずしも隣接していない構造の一連の構成します。私たちは、それぞれの構造は整数が含まれていると  key し、  Next 次の構造体へのポインタを。今すぐリンクリストを与え、あなたは昇順で、そのキーの値に応じて構造体を並べ替えることになっています。

入力仕様:

各入力ファイルには、1つのテストケースが含まれています。各場合について、最初の行は、正含ま  N(<)と、ヘッドノードのアドレス  Nがメモリ内のノードとノードのアドレスの総数が5桁の正の整数であるが。NULLは、で表されます  - 。

次いで、  N行は、それぞれのフォーマットでノードを説明し、次のとおりです。

Address Key Next

ここで、  Address メモリ内のノードのアドレスであり、  Key [の整数である- ]、及び  Next 次のノードのアドレスです。すべてのキーが異なっていると何のサイクルは、ヘッドノードから始まるリンクリストに存在しないことが保証されています。

出力仕様:

各テストケースのために、出力フォーマットは入力と同じである  Nがリスト内のノードの総数であり、すべてのノードが順にソートされなければなりません。

サンプル入力:

5 00001
11111 100 -1
00001 0 22222
33333 100000 11111
12345 -1 33333
22222 1000 12345

サンプル出力:

5 12345
12345 -1 00001
00001 0 11111
11111 100 22222
22222 1000 33333
33333 100000 -1

注意点その
(1)タイトル与えられたノードかもしれない無効なノードリスト

(2)最後のテストは、最初のテストポイントのアドレスであった - 1 - 1、0の出力のみ今回、空のリストである場合

(3)出力ノードアドレスに加えて--1は十分に高い0で、5桁の数字を持っていなければなりません。だから、アドレス - 1特殊な文を出力します

1の#include <iostreamの>
 2の#include <地図>
 3  使用して 名前空間STDを、
4  INT メイン()
 5  {
 6      INT N、頭部、MAXV = - 1000000 7      CIN >> N >> ヘッド。
8      地図< 整数整数 > 値。
9      マップ< int型、対< INTINT >> データ。
10      のためにint型 I = 0 ; iがNを<++ I)
 11      {
12は、         int型、addrが、ヴァル、次に
 13は          CINのADDR >> >>ヴァル;次に
 14          data.insert(make_pair(ADDR、make_pair(ヴァル、NEXT)));
 15      }
 16      IF(Data.Find(ヘッド)= = data.end())
 。17      {
 18で          COUT << 0 << "  " - << 1 << ; ENDL
 19。         リターン 0 ; // リストが空である
20である     }
 21は     、一方(ヘッド=! - 1。 // 反復データでは、データはリストに見出される
22      {
23          value.insert(make_pair(データ【ヘッド】1次回、頭部))。
24          ヘッド= データ[頭部] .second。
25      }
 26      のprintf(" %D%05D \ n "、value.size())(value.begin - > 秒)。
27      のための(自動PTR = value.begin()!= ptrをvalue.end(); ++ PTR)
 28      {
 29          であれば(PTR == value.begin())
 30              のprintf(" %05D%のD "、PTR - >第二、ptr-> 最初の);
31          他の
32              のprintf(" %05Dのn \%05D%dの"ptr->第二、ptr->第二、ptr-> 最初の);
 33      }
 34      のprintf(" %d個の\ n "、 - 1 );
 35      リターン 0 ;
 36 }

 



おすすめ

転載: www.cnblogs.com/zzw1024/p/11281097.html