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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- 英語 節を列挙する例示表現について 2 2022/08/15 13:52
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim 6 2023/08/04 19:57
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- PHP PHPSpreadsheetによる書き出し時のページネーション方法について 1 2023/03/20 10:35
- その他(プログラミング・Web制作) pandasでまとめてインデックスを削除するにはどうすればいいですか? たとえば、以下のプログラムで 1 2022/07/31 23:09
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
pythonでDBのカラム名で取得し...
-
matlabのソースコードをpython...
-
エクセルVBA:日付データの変換...
-
C言語の構造体にてバブルソート...
-
データの値の近いものをグルー...
-
printfの%eで指数部分の桁数を...
-
テキストファイルの結合について
-
パイソン、データーサイエンス...
-
POSTで配列のデータを渡す方法は?
-
基本クラスのポインタから、特...
-
オセロゲーム 2次元配列で困...
-
花の名前を教えて下さい。
-
途中経過も表示するプログラム
-
python 気象データの取得
-
UTF-8で5~6バイトになる文字コ...
-
COBOLのCOMP形式について
-
ビットスワップとバイトスワッ...
-
エクセルシート名の制限を変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ポインター引数の関数でコンパ...
-
stable diffusionのエラー
-
printfの%eで指数部分の桁数を...
-
エクセルVBA:日付データの変換...
-
int型(2バイト)データの分割
-
c言語の多次元配列で1から100ま...
-
C#でのswitch文
-
【Excel VBA】10進数を2進数に...
-
途中経過も表示するプログラム
-
CreateProcessでの環境変数の設...
-
pythonでDBのカラム名で取得し...
-
C言語についてです! 同じ年の...
-
linuxのシェルでファイル名に先...
-
c言語 配列から数字だけをint型...
-
c言語での wavファイルの編集(...
-
matlabのソースコードをpython...
-
ビットデータのチェック方法
-
10個の実数に対する降順ソート...
-
python 気象データの取得
-
C言語の構造体にてバブルソート...
おすすめ情報