[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
1-
101-
201-
301-
401-
501-
601-
701-
この機能を使うにはJavaScriptを有効にしてください
|
■■■20レス以内で済むF-BASICの質問はこちらへ■■■
190
:
nisii
:2005/02/16(水) 17:39:10
>>179
年齢と金額の2つのキーがあり、それぞれ昇順と降順でソートする方法案。
ソートの優先順を1年齢、2金額と想定します。
元データはカンマ区切りなどのテキストファイルと想定します。
氏名,年齢,住所,電話,性別,金額(改行)
氏名,年齢,住所,電話,性別,金額(改行)
:
まず、各行の先頭に固定長のキーを加えたファイルを作ります。()内は例。
年齢(023)金額(000010000)氏名,年齢,住所,電話,性別,金額[改行]
年齢(031)金額(000021500)氏名,年齢,住所,電話,性別,金額[改行]
:
このとき、金額が最大9桁なら、キーの値は(999999999 - 金額)とする。
金額に負の値が存在しうるなら、(999999999 - ( 金額 + 499999999))とする。(最大値に注意)
SORT.EXEなどテキスト対応のソートプログラムがあれば、このままソート。
最後に、先頭のキーを取り除きます。
------------------------
高速なバイナリソートをするなら、レコードを固定長にします。
連番(000001)年齢(023)金額(000010000)
連番(000002)年齢(031)金額(000021500)
:
これをソートし、最後に連番を元に氏名・住所ほかを取り出します。
メモリが充分あるなら、次のレコードでもOKでしょうか?
年齢(023)金額(000010000)氏名,年齢,住所,電話,性別,金額…長さをそろえるスペース
年齢(031)金額(000021500)氏名,年齢,住所,電話,性別,金額…長さをそろえるスペース
------------------------
参考までに、DOS用のソートプログラム。
http://www.vector.co.jp/vpack/filearea/dos/util/text/sort/index.html
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板