テキストファイルから階層構造を読み取り、テキストファイルに書き出す方法について
- 題名: テキストファイルから階層構造を読み取り、テキストファイルに書き出す方法について
- 著者: ice
- 日時: 2009/05/31 22:03:22
- ID: 24653
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: テキストファイルから階層構造を読み取り、テキストファイルに書き出す方法について
- 著者: Azulean
- 日時: 2009/06/01 0:42:42
- ID: 24654
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: テキストファイルから階層構造を読み取り、テキストファイルに書き出す方法について
- 著者: ice
- 日時: 2009/06/01 14:03:24
- ID: 24657
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
こんにちは。
先日はアドバイスありがとうございました。
ツリー式掲示板の破損修復を行ってますが、次についてアドバイス頂ければ非常に助かりますので、ぜひよろしくお願いします。
<やりたい事>
ABC.txtを1行づつ上から読み込み、ツリー階層を解析しながら並べ替えてTEST.txtに書き出す。
<ABC.txtの中身>
no 1080
Follow 240
Tree 180
<本文>
.
no 1079
Follow 1078
Tree 20
<本文>
・
no 1078
Follow 20
Tree 20
<本文>
・
no 1077
Follow 532
Tree 180
<本文>
・
・
・
no 20
Tree 20
<本文>
記事の特徴としては、以下となります。
※記事と記事は"."で区切られている。
※Followはその記事の上の階層を示す記事番号。
※Treeは、ツリーのTOPとなる記事番号を示す
※ツリーのTOP記事には、"Follow"は存在しない。
※FollowとTreeが同じ記事番号の場合は、必ずツリーTOP記事の真下にぶら下がる記事となる。
つまり、上記ファイルを以下のように並べ替えられれば良い事になります。
no 20
Tree 20
<本文>
・
no 1078
Follow 20
Tree 20
<本文>
・
no 1079
Follow 1078
Tree 20
<本文>
・
no 1077
Follow 532
Tree 180
・
<補足>
Treeのトップは、記事番号20で、この記事にはFollowは含まれてなく、Treeも自分の記事をさしているので一番上に持っていきます。
その下には、同じTREE番号を示してかつFollowとTree番号が同じであるため、1078の記事になります。さらにその下の階層には、同じTREE番号を示してかつFollowが1078を示す1079の記事が来る・・・という感じです。
このように並び替えるには、各noとFollowとTreeの値を1行読み込むたびに変数に入れ、連結したものを配列に入れなおしてからソートする感じだと思いますが、コーディングしてみると以外に難しく、と言いますかフローチャートすら書けない状態です・・
どんな事でも結構ですので、アドバイスお願いできたらありがたいです。
どうかよろしくお願いします。