ArrayReverse
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
*/另见
ArrayInsert,ArrayRemove, ArrayCopy,ArrayResize, ArrayFree,ArrayGetAsSeries, ArraySetAsSeries