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