
VB(2010)で行う構造体のソートの方法についてお尋ねします。
下記のようなデータのソートを行いたいです。
レコード数:約500万(テキストファイル)
構造体:
data(i).class1
data(i).class2
data(i).class3
data(i).class4
data(i).class1-.class2-.class3の順でソートを行いたいです。
いくつかのサイトで調べ、.NETのサンプルコートは見つけたのですが、当方初心者のため複数の条件でソートする方法と仕組みを理解することができませんでした。
どなたか教えていただけるとありがたいです。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
> data(i).class1-.class2-.class3の順でソートを行いたい
の意味が不明確ですが、class1のほうが重要視される、という意味だとすると
簡単には、Class1が上位の桁、Class2が中位の桁、Class3が下位の桁、を表していると考えることです。
なので、大小比較の部分を
if data(i).class1>data(j).class1 then
→ data(i)はdata(j)より大きい
else if data(i).class1<data(j).class1 then
→ data(i)はdata(j)より小さい
else if data(i).class1=data(j).class1 then (実際はif以降は必要ない)
→ data(i)とdata(j)のclass1は同じ大きさなので、
class2をこれまでと同様にして大小比較する
もし、class2も同じなら、class3を比較する
end if
と置き換えればよいです。
この回答への補足
早速の回答をありがとうございます。
> data(i).class1-.class2-.class3の順でソートを行いたい
これは、data(i).class1-.class2-.class3の優先順でソートを行いたいということです。
言葉足らずでした。
下記サイトも参考にして作成することができました。ありがとうございました。
http://www.geocities.co.jp/SilkRoad/4511/vb/sort …
ただ、500万レコードは大変な処理時間を要します・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
stable diffusionのエラー
-
【Excel VBA】10進数を2進数に...
-
int型(2バイト)データの分割
-
CSVファイルの行と列のセルって...
-
パイプを用いたプロセス間通信...
-
C言語の勉強しています。すみま...
-
ポインター引数の関数でコンパ...
-
c言語 配列から数字だけをint型...
-
C#でのswitch文
-
UTF-8で5~6バイトになる文字コ...
-
10Mバイトて文字数に すると何...
-
COBOLのCOMP形式について
-
Line Inputにて改行があっても...
-
半角、全角の判別方法
-
全角半角を調べるライブラリ関...
-
この関数はどのプログラミング...
-
utf-8でメールを送信すると件名...
-
COleDateTime とtime_t
-
ビットからバイトへの変換
-
Excel 1セル当りの文字数が2...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
stable diffusionのエラー
-
printfの%eで指数部分の桁数を...
-
C言語の勉強しています。すみま...
-
C言語についてです! 同じ年の...
-
ポインター引数の関数でコンパ...
-
c言語での wavファイルの編集(...
-
C#でのswitch文
-
ビットデータのチェック方法
-
txtファイルを読み込んで表示関...
-
int型(2バイト)データの分割
-
Excel VBA グラフ作成のとき...
-
'dataType' 引数を Null にする...
-
Cのプログラムがどうしても動き...
-
C言語について
-
matlabでのRRI検出
-
【VBA】複数条件の検索
-
VBA セルの値入力について
-
Nextの次に、入力した数値の中...
-
System.Collections.ArrayList ...
-
PINVOKEで構造体配列をマーシャ...
おすすめ情報