70 lines
2.3 KiB
Markdown
70 lines
2.3 KiB
Markdown
# ArrayReverse
|
||||
|
|
|
|||
|
|
Reverses the specified number of elements in the array starting with a specified index.
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
bool ArrayReverse(
|
|||
|
|
void& array[], // array of any type
|
|||
|
|
uint start=0, // index to start reversing the array from
|
|||
|
|
uint count=WHOLE_ARRAY // number of elements
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Parameters
|
|||
|
|
|
|||
|
|
array[]
|
|||
|
|
|
|||
|
|
[in][out] Array.
|
|||
|
|
|
|||
|
|
start=0
|
|||
|
|
|
|||
|
|
[in] Index the array reversal starts from.
|
|||
|
|
|
|||
|
|
count=WHOLE_ARRAY
|
|||
|
|
|
|||
|
|
[in] Number of reversed elements. If WHOLE_ARRAY, then all array elements are moved in the inversed manner starting with the specified start index up to the end of the array.
|
|||
|
|
|
|||
|
|
Return Value
|
|||
|
|
|
|||
|
|
Returns true if successful, otherwise - false.
|
|||
|
|
|
|||
|
|
Note
|
|||
|
|
|
|||
|
|
The [ArraySetAsSeries()](/en/docs/array/arraysetasseries) function does not move the array elements physically. Instead, it only changes the indexation direction backwards to arrange the access to the elements as in the [timeseries](/en/docs/series). The ArrayReverse() function physically moves the array elements so that the array is "reversed".
|
|||
|
|
|
|||
|
|
Example:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
//+------------------------------------------------------------------+
|
|||
|
|
//| Script program start function |
|
|||
|
|
//+------------------------------------------------------------------+
|
|||
|
|
void OnStart()
|
|||
|
|
{
|
|||
|
|
//--- declare the fixed-size array and fill in the values
|
|||
|
|
int array[10];
|
|||
|
|
for(int i=0;i<10;i++)
|
|||
|
|
{
|
|||
|
|
array[i]=i;
|
|||
|
|
}
|
|||
|
|
//--- display the array before reversing the elements
|
|||
|
|
Print("Before calling ArrayReverse()");
|
|||
|
|
ArrayPrint(array);
|
|||
|
|
//--- reverse 3 elements in the array and show the new set
|
|||
|
|
ArrayReverse(array,4,3);
|
|||
|
|
Print("After calling ArrayReverse()");
|
|||
|
|
ArrayPrint(array);
|
|||
|
|
/*
|
|||
|
|
Execution result:
|
|||
|
|
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
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
See also
|
|||
|
|
|
|||
|
|
[ArrayInsert](/en/docs/array/arrayinsert), [ArrayRemove](/en/docs/array/arrayremove), [ArrayCopy](/en/docs/array/arraycopy), [ArrayResize](/en/docs/array/arrayresize), [ArrayFree](/en/docs/array/arrayfree), [ArrayGetAsSeries](/en/docs/array/arraygetasseries), [ArraySetAsSeries](/en/docs/array/arraysetasseries)
|