2次元配列の高速ソート
2次元数値配列の指定の行または列に注目してソートします。表データの並べ替えなどをしたいときに便利です。
非常に高速です。
入力
- 2D Array
2次元アレイ。数値でなければなりません。
- Reference
注目する行または列のインデックス。ゼロから始まります。
- row/column
注目するのが行か列かを指定します。行を選ぶと列方向にソートされます。いわゆる表計算で上から下へ並べたいときは列(column(True))にします。デフォルトはrowです。
- Order
並べ方を昇順(False)か降順(True)で指定します。デフォルトはFalseです。
出力
- Sorted Array
ソートされた2次元アレイ。
ダイアグラムの解説
- ソート方向が列方向ならば入力アレイを転置します。
- 注目行を抜き出します。
- 降順に並べたい場合は数値をマイナスにします。
- インデックスデータを作ってバンドルしクラスタアレイにします。
- Sort 1D Array関数でソートします。入力データの多形性を利用してクラスタアレイを並べ替えます。
- 並べ替えられたインデックスデータの順番に従って元のアレイを並べ替えます。
- ソート方向が行方向ならば結果のアレイ転置します。
制限または仕様
同じデータが並んだ場合に別の行か列に注目して順位を決めることができません。
ダウンロード
2dsort.llb(29KB)
ファイルが古くて開けなかった方はこちらをお試しください:2D Fast
Sort.vi (8kB)