ArrayReverse

Invierte en la matriz el número indicado de elementos, comenzando por el índice indicado.

bool  ArrayReverse(
   void&        array[],            // matriz de cualquier tipo
   uint         start=0,            // desde qué índice comenzamos a invertir la matriz
   uint         count=WHOLE_ARRAY   // número de elementos
   );

Parámetros

array[]

[in][out]  Matriz.

start=0

[in]  Índice desde el que comienza a invertirse la matriz.

count=WHOLE_ARRAY

[in]  Número de elementos invertidos. Si se indica el valor WHOLE_ARRAY, se desplazarán a la inversa entre sí todos los elementos de la matriz, comenzando por el índice establecido start y hasta el final de la matriz.

Valor retornado

Retorna true en caso de éxito, de lo contrario, false.

Observación

La función ArraySetAsSeries() no desplaza físicamente los elementos de la matriz, sino que solo invierte la dirección para organizar el acceso a los elementos como en la serie temporal. La matriz ArrayReverse() desplaza físicamente los elementos, de tal forma que la matriz "se invierte".

Ejemplo:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- declaramos una matriz de tamaño fijo y rellenamos con valores
   int array[10];
   for(int i=0;i<10;i++)
     {
      array[i]=i;
     }
//--- mostramos la matriz antes de invertir los elementos
   Print("Antes de llamar ArrayReverse()");
   ArrayPrint(array);
//--- invertimos 3 elementos en la matriz y mostramos la nueva composición
   ArrayReverse(array,4,3);
   Print("Después de llamar ArrayReverse()");
   ArrayPrint(array);
/*
  Resultado de la ejecución:
  Antes de llamar ArrayReverse()
   0 1 2 3 4 5 6 7 8 9
  Después de llamar ArrayReverse()
   0 1 2 3 6 5 4 7 8 9
*/

Mire también

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