ArrayReverse

Expande o número de elementos especificado na matriz, iniciando no índice especificado.

bool  ArrayReverse(
   void&        array[],            // matriz de qualquer tipo
   uint         start=0,            // índice a partir do qual é expandida a matriz
   uint         count=WHOLE_ARRAY   // número de elementos
   );

Parâmetros

array[]

[in][out]  Matriz.

start=0

[in]  O índice a partir do qual a matriz é invertida.

count=WHOLE_ARRAY

[in]  Número de elementos para expandir. Se for especificado WHOLE_ARRAY, todos os elementos da matriz serão colocados de maneira invertida entre eles, começando com o índice especificado start até o final da matriz.

Valor retornado

Retorna true em caso de sucesso, caso contrário, false.

Observação

A função ArraySetAsSeries() apenas altera a direção de indexação de trás para frente, a fim de organizar o acesso aos elementos como em timeseries. A função ArrayReverse() move fisicamente os elementos de uma matriz de tal forma que a matriz é "invertida".

Exemplo:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- declara uma matriz de tamanho fixo e preenche com valores
   int array[10];
   for(int i=0;i<10;i++)
     {
      array[i]=i;
     }
//--- mostra uma matriz antes de inversão de elementos
   Print("Antes de chamar a ArrayReverse()");
   ArrayPrint(array);
//--- inverte 3 elementos na matriz e exibe a nova composição
   ArrayReverse(array,4,3);
   Print("Depois de chamar a ArrayReverse()");
   ArrayPrint(array);
/*
  Resultado da execução:
  Antes de chamar a ArrayReverse()
   0 1 2 3 4 5 6 7 8 9
  Depois de chamar a ArrayReverse()
   0 1 2 3 6 5 4 7 8 9
*/

Veja também

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