ArrayReverse

Inverte il numero specificato di elementi nell'array iniziando con un indice specificato.

bool  ArrayReverse(
   void&        array[],            // array di qualsiasi tipo
   uint         start=0,            // indice da cui iniziare ad invertire l'array
   uint         count=WHOLE_ARRAY   // numero di elementi
   );

Parametri

array[]

[in][out]  Array.

start=0

[in] Indice da cui inizia l'inversione dell'array.

count=WHOLE_ARRAY

[in] Numero di elementi invertiti. Se WHOLE_ARRAY, tutti gli elementi dell'array vengono spostati nel modo inverso a partire dall'indice specificato start fino alla fine dell'array.

Valore di ritorno

Restituisce true se ha successo, altrimenti - false.

Nota

La funzione ArraySetAsSeries() non sposta fisicamente gli elementi dell'array. Invece, cambia solo la direzione di indicizzazione all'indietro, per disporre l'accesso agli elementi come nelle timeseries. La funzione ArrayReverse() sposta fisicamente gli elementi dell'array in modo che l'array sia "invertito".

Esempio:

//+------------------------------------------------------------------+
//| Funzione Start del programma di script |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- dichiara l'array a dimensione fissa e riempie i valori
   int array[10];
   for(int i=0;i<10;i++)
     {
      array[i]=i;
     }
//--- mostra l'array prima di invertire gli elementi
   Print("Prima di chiamare ArrayReverse()");
   ArrayPrint(array);
//--- inverte 3 elementi nell'array e mostra il nuovo set
   ArrayReverse(array,4,3);
   Print("Dopo aver chiamato ArrayReverse()");
   ArrayPrint(array);
/*
  Risultato dell'esecuzione
  Prima di chiamare ArrayReverse()
   0 1 2 3 4 5 6 7 8 9
  Dopo aver chiamato ArrayReverse()
   0 1 2 3 6 5 4 7 8 9
*/

Guarda anche

ArrayInsert, ArrayRemove, ArrayCopy, ArrayResize, ArrayFree, ArrayGetAsSeries, ArraySetAsSeries