Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

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