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索引开始以倒序方式移动索引数组元素,直到数组结束。 index up to the end of the array.

返回值

如果成功返回true,否则返回false。

注意

ArraySetAsSeries()函数不会物理移动数组元素。相反,它只反向更改索引方向来安排对元素的访问,如同在timeseries中一样。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);

/*

  执行结果:

  Before calling ArrayReverse()

   0 1 2 3 4 5 6 7 8 9

  After calling ArrayReverse()

   0 1 2 3 6 5 4 7 8 9

*/

 

另见

ArrayInsertArrayRemoveArrayCopyArrayResizeArrayFreeArrayGetAsSeriesArraySetAsSeries