前回、下記の記事で配列について紹介させて頂きました。今回はその配列を使う上での便利なソート機能関数の紹介です。ソートとは数値が高い順に並び替えたり、逆に低い順で並び替えたりする機能です。ArraySort関数を使います。
ArraySort関数
int ArraySort( double&array[], int count=WHOLE_ARRAY, int start=0, int sort_dir=MODE_ASCEND)
引数の説明をしてきます。
この引数には配列を入れます。double型の後に&とついているのは、この引数で渡した変数、配列の数値を関数の中で変更する機能があります。array[]のように引数の後に[]がついているのは、その引数には配列を入れるということを表しています。ただし、aaa[3]という配列がある場合、実際に引数に書くコードはaaaだけでいいです。
この引数は検索する配列の範囲を設定します。WHOLE_ARRAYと書いた場合は全ての範囲となります。普通にソートする場合はWHOLE_ARRAYと書いておけば大丈夫です。
ソートの開始位置の設定です。aaa[3]という配列がある場合、ここに1を入れれば、aaa[0]は対象とせずに、aaa[1]とaaa[2]だけでソートします。普通にソートする場合は0と書いておけば大丈夫です。
ソートを昇順(低い順)でするのか、降順(高い順)でするのかの設定です。MODE_ASCENDは昇順、MODE_DESCENDは降順になります。ソートの内容によってこのどちらかを書いて下さい。
基本的に、ArraySort( 配列, WHOLE_ARRAY, 0, MODE_ASCEND か MODE_DESCEND )と覚えておけば大丈夫です。
下記は実際の使用例になります。
int aaa[3] = {10,20,30};
ArraySort( aaa, WHOLE_ARRAY, 0, MODE_DESCEND);
上記の処理でaaaの配列の中身は以下のようになります。
ソート前 | ソート後 |
aaa[0] = 10; aaa[1] = 20; aaa[2] = 30; | aaa[0] = 30; aaa[1] = 20; aaa[2] = 10; |
ソート機能は配列を使っていると便利な機能ですので、色々と使い道を考えてみて下さい。
内容には注意を払っていますが、保障は出来ません。
実際に運用する場合は、自己責任でお願いします。