数百件の二次元データを高速でソートを行いたいのですが、
一番適したソート方法がわかりません。
どなたかアドバイスお願いします。
なにが適しているかはデータの質によります。
実際にいろいろ試してみるのが一番でしょう。
ソート相手が整数なら、バケツソートがらくちんで高速ですよ。
大小の判別なしに、配列のインデックスでソートできますから。
ただ、メモリを多量に使いますけど・・・
速いかどうかは解りませんが、ListBoxやComboBoxにデータを追加して、
SortedプロパティーをTrueにすると自動的にソートしてくれます。
ListBoxなどのVisibleをFalseにしてデータを追加していけば、
それなりの速度はでると思います。
逆にVisible=Trueのときはかなり遅くなると思います
Sayさんもおっしゃっていますが
私もデータの質によると思います。
片方だけ基準にすればいいのか、
両方の要素を基準にしなくてはならないのか
とか。
文字列をソートする場合と数値をソートする場合ではデータ量が多ければ多いほど処理の差は歴然です。
また、複合ソートの場合はもっての他です。
そういった意味合いも含めてみなさんが発言している事を理解してください。
解決方法の参考に・・・
1.C言語など低級言語を使用してソート処理を行わせる。
2.データベースサーバーにソート処理を任せる
といった方法があります。
どうしても高速なソートを望むのであれば、VBでは役不足です。
今一度検討してみてください。
ツイート | ![]() |