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のエラー
-
Cのプログラムがどうしても動き...
-
プロシージャ名の変数にカウン...
-
c言語での wavファイルの編集(...
-
【Excel VBA】10進数を2進数に...
-
平滑化フィルタ
-
OrderTEXT
-
オブジェクトのメモリイメージ...
-
掲示板CGIで新着順ではなく古い...
-
matlabでのRRI検出
-
excelマクロを用いてのファイル...
-
お直しお願いいたします
-
FFTがうまくできない
-
C言語 ファイル内のデータと入...
-
10Mバイトて文字数に すると何...
-
ビットスワップとバイトスワッ...
-
Excel 1セル当りの文字数が2...
-
機種依存文字の変換について
-
リトルエンディアンのデータを...
マンスリーランキングこのカテゴリの人気マンスリー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 気象データの取得
-
PINVOKEで構造体配列をマーシャ...
おすすめ情報