2008-06-15

LabVIEW でクイックソート

先日、LabVIEW で二分探索するライブラリを作ったのはいいのですが、任意の型の配列をソートするのが意外にも面倒であることに気付きました。というわけで、ソートする VI も作りました。



まず、比較用の VI を作ります。2つのバリアント A と B を受け取って、その大小比較の結果 (A-B) で返すような VI を作ります。数値の場合は単純に引き算すればよいですし、クラスタのような複雑な型の場合には、それなりの演算をして大小比較します。一致した場合には 0 を返さないといけません。



Cmpint32




任意の型の配列と、上記の VI へのリファレンスを、SortAny1DArray.vi に渡すと、あーら不思議ソートされます。別に不思議でもなんでもありません。アルゴリズムにはクイックソートを使っています。



Qsort



lvqsort-0.1.zipをダウンロード