PHP - Ds Deque::rotate() Function
The PHP Ds\Deque::rotate() function is used to rotate the current deque by a given number of rotations. If the 'rotations' parameter value is positive, the deque will rotate clockwise (which means elements are sifted to the end). If it's a negative value, the deque will rotate "counterclockwise" (or the elements will be rotated in reverse order).
Generally, to rotate a deque for n number of times manually is a long process. Instead, using the rotate() function in PHP helps rotate the deque for a "n" number of times in less time.
Syntax
Following is the syntax of the PHP Ds\Deque::rotate() function −
public Ds\Deque::rotate(int $rotations):void
Parameters
This function accepts a single parameter called 'rotations', which is described below −
- rotations − An integer value which represents the number of times the deque should be rotated.
Return value
This function does not return any value.
Example 1
The following is the basic example of the PHP Ds\Deque::rotate() function −
<?php $deque = new \Ds\Deque([10, 100, 1000, 10000]); echo "The original deque elements are: \n"; print_r($deque); $rotations = 2; echo "Number of rotations: ".$rotations; echo "\nThe deque after rotation: \n"; $deque->rotate($rotations); print_r($deque); ?>
Output
The above program produces the following output −
The original deque elements are:
Ds\Deque Object
(
[0] => 10
[1] => 100
[2] => 1000
[3] => 10000
)
Number of rotations: 2
The deque after rotation:
Ds\Deque Object
(
[0] => 1000
[1] => 10000
[2] => 10
[3] => 100
)
Example 2
The following is another example of the PHP Ds\Deque::rotate() function. We use this function to rotate this (['a', 'b', 'c', 'd', 'e']) deque −
<?php $deque = new \Ds\Deque(['a', 'b', 'c', 'd', 'e']); echo "The original deque elements are: \n"; print_r($deque); $rotations = 4; echo "Number of rotations: ".$rotations; echo "\nThe deque after rotation: \n"; $deque->rotate(4); print_r($deque); ?>
Output
After executing the above program, the following output will be displayed −
The original deque elements are:
Ds\Deque Object
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
)
Number of rotations: 4
The deque after rotation:
Ds\Deque Object
(
[0] => e
[1] => a
[2] => b
[3] => c
[4] => d
)
Example 3
When we pass a rotation value as-1to this function,it willreverse the order of elementsin "counterclockwise" within the deque as follows:
<?php $deque = new \Ds\Deque(["a", "b", "c", "d"]); echo "The original deque: \n"; print_r($deque); $rotations = -1; echo "Number of rotations: ".$rotations; $deque->rotate($rotations); echo "\nThe deque after reverse: \n"; print_r($deque); ?>
Output
Once the above program is executed, it will generate the following output −
The original deque:
Ds\Deque Object
(
[0] => a
[1] => b
[2] => c
[3] => d
)
Number of rotations: -1
The deque after reverse:
Ds\Deque Object
(
[0] => d
[1] => a
[2] => b
[3] => c
)