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 и до конца массива.

Возвращаемое значение

Возвращает true в случае успеха, иначе false.

Примечание

Функция ArraySetAsSeries() физически не перемещает элементы массива, а только меняет направление индексации задом наперед для организации доступа к элементам как в таймсерии. Функция ArrayReverse() физически перемещает элементы массива таким образом, что массив "переворачивается".

Пример:

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- объявим массив фиксированного размера и заполним значениями
   int array[10];
   for(int i=0;i<10;i++)
     {
      array[i]=i;
     }
//--- покажем массив до разворачивания элементов 
   Print("До вызова ArrayReverse()");
   ArrayPrint(array);
//--- развернем 3 элемента в массиве и покажем новый состав
   ArrayReverse(array,4,3);
   Print("После вызова ArrayReverse()");
   ArrayPrint(array);
/*
   Результат выполнения: 
   До вызова ArrayReverse()
   0 1 2 3 4 5 6 7 8 9
   После вызова ArrayReverse()
   0 1 2 3 6 5 4 7 8 9
*/

Смотри также

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