(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
)