ArrayReverse

指定されたインデックスから開始して、配列内の指定された数の要素を反転します。

bool  ArrayReverse(
  void&        array[],            // 任意の型の配列
  uint        start=0,           // 配列反転開始インデックス
  uint        count=WHOLE_ARRAY  // 要素数
  );

パラメータ

array[]

[in][out]  配列

start=0

[in] 反転を開始する配列のインデックス

count=WHOLE_ARRAY

[in] 反転される要素の数。WHOLE_ARRAYの場合、指定されたstartインデックスから配列の最後の要素までの位置が反転されます。

戻り値

成功の場合はtrue、それ以外の場合はfalse

注意事項

ArraySetAsSeries()関数は物理的に配列要素を移動するものではありません。代わりに、要素へのアクセスを時系列同様に変更するために、インデックスの方向を逆方向に変更するだけです。ArrayReverse()関数は、配列が「反転」されるように物理的に配列要素を移動します。

例:

//+------------------------------------------------------------------+
//| スクリプトプログラムを開始する関数                                          |
//+------------------------------------------------------------------+
void OnStart()
 {
//--- 固定サイズの配列を宣言し、値を埋める
  int array[10];
  for(int i=0;i<10;i++)
    {
     array[i]=i;
    }
//--- 配列を反転する前に配列を表示する
  Print("Before calling ArrayReverse()");
  ArrayPrint(array);
//--- 配列内の3つの要素を反転して新しい集合を表示する
  ArrayReverse(array,4,3);
  Print("After calling ArrayReverse()");
  ArrayPrint(array);
/*
  実行結果:
  ArrayReverse()呼び出し前
  0 1 2 3 4 5 6 7 8 9
  ArrayReverse()呼び出し後
  0 1 2 3 6 5 4 7 8 9
*/

参照

ArrayInsertArrayRemoveArrayCopyArrayResizeArrayFreeArrayGetAsSeriesArraySetAsSeries