(PECL ds >= 1.0.0)
Ds\Deque::rotate — Перематывает двухстороннюю очередь на заданное число значений
Перематывает двухстороннюю очередь на заданное число значений. Данная операция аналогична
выполнению заданное количество раз кода
$deque->push($deque->shift())
, если число оборотов положительно
и $deque->unshift($deque->pop())
, если отрицательно.
rotations
Количество значений, которые надо "перемотать".
Функция не возвращает значения после выполнения.. Будет изменена текущая двухсторонняя очередь.
Пример #1 Пример использования Ds\Deque::rotate()
<?php
$deque = new \Ds\Deque(["a", "b", "c", "d"]);
$deque->rotate(1); // Аналогично $a = $sequence->deque(); $deque->push($a);
print_r($deque);
$deque->rotate(2);
print_r($deque);
?>
Вывод приведённого примера будет похож на:
( [0] => b [1] => c [2] => d [3] => a ) Ds\Deque Object ( [0] => d [1] => a [2] => b [3] => c )