システムトレード初級編

配列用のソート機能



   前回、配列について紹介させて頂きました。今回はその配列を使う上での便利なソート機能関数の紹介です。ソートとは数値が高い順に並び替えたり、逆に低い順で並び替えたりする機能です。ArraySort関数を使います。


int ArraySort( double&array[], int count=WHOLE_ARRAY, int start=0, int sort_dir=MODE_ASCEND)


 引数の説明をしてきます。


double&array[]

 この引数には配列を入れます。double型の後に&とついているのは、この引数で渡した変数、配列の数値を関数の中で変更する機能があります。array[]のように引数の後に[]がついているのは、その引数には配列を入れるということを表しています。ただし、aaa[3]という配列がある場合、実際に引数に書くコードはaaaだけでいいです。


int count=WHOLE_ARRAY

 この引数は検索する配列の範囲を設定します。WHOLE_ARRAYと書いた場合は全ての範囲となります。普通にソートする場合はWHOLE_ARRAYと書いておけば大丈夫です。


int start=0
 
 ソートの開始位置の設定です。aaa[3]という配列がある場合、ここに1を入れれば、aaa[0]は対象とせずに、aaa[1]とaaa[2]だけでソートします。普通にソートする場合は0と書いておけば大丈夫です。


int sort_dir=MODE_ASCEND

 ソートを昇順(低い順)でするのか、降順(高い順)でするのかの設定です。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;


 ソート機能は配列を使っていると便利な機能ですので、色々と使い道を考えてみて下さい。





--------------注意----------------


内容には注意を払っていますが、保障は出来ません。
実際に運用する場合は、自己責任でお願いします。


<<配列について | TOP | 配列用の初期化機能 >>

トップページ プロフィール ブログ リンク オーダーシステム 利用規約 問い合わせ