[216] 複数ソート
しのぶ [2011/01/24 16:25:32]
複数ソートについてです
マクロページのSort.cmsを見ると
// 複数列をキーにする場合などはこのファイルをコピーして、
// compare 関数をうまく書き直してください。
と、書かれていますが、どのように書き直せばいいのか、例を書いて頂けないでしょうか?よろしくお願い致します。
Re: [216] 複数ソート
あすかぜ [2011/01/24 23:41:23]
例を書いてみました。
http://www.asukaze.net/soft/cassava/macro/asukaze/bbs216_20110124.cms
この例では、ソート範囲に関わらず 1 列目・2 列目・3 列目をキーとしています。
compare 関数では、y1 行目と y2 行目を比較したときに y1 側が小さければ負の値を、y2 側が小さければ正の値を、等しければ 0 を返すようにしてください。
qsort() の外側からキー列を渡すようにするには、第 5 引数の x 部分を x1, x2, x3 などに拡張して compare 関数まで引き渡すか、文字列で "1,2,3" のように複数の列番号を渡すようにする必要があります。
よろしくお願いします。
Re: [216] 複数ソート
しのぶ [2011/01/25 14:07:00]
ありがとうございます
教えていただいたマクロで勉強したいと思います。
何か分からない点があれば、またお願い致します。