Perform right rotation by n on array (list) in Python

Python program to perform right rotation of array (list) elements by n positions

In this tutorial, we will learn to create an array (list in case of python) and rotate the elements stored in the array (list) by ‘n’ positions. The value of ‘n’ is also taken input by the user.

 That means if our array (list) is:

After the user inputs the rotation value 3, then the array (list) becomes:

Problem Statement

Our program will first take the input of array (list) size and then the elements of the array (list). After that our program will rotate the elements of the array (list) by the value given by the user.

For example:

Case 1: if the user inputs 4 as array (list) size and the array (list) elements as 1,2,3,4. And if the user inputs 3 as the rotation value then, The output should be 2,3,4,1.

Case 2: if the user inputs 5 as array (list) size and the array (list) elements as 9,8,7,6,5. And if the user inputs 1 as the rotation value then, The output should be 5,9,8,7,6.

Our logic to perform right rotation of array (list) elements by n positions

  • Our program will take input to fix the size of the array (list).
  • Then our program will run for a ‘for loop’ to take the inputs from the user. The inputs will be the elements (or the content) of the array (list).
  • Take another input ‘n’ from the user as the rotation value for array (list).
  • Then, by using the concept of ‘nested loop’, our program will rotate the array (list) by ‘n’ positions.
  • Print the final array (list)

Algorithm to perform right rotation on array (list) elements by n positions

Step 1: Start

Step 2: take an input from the user (let’s say size).

Step 3: Create an empty list and a variable sum with value assign is 0.

Step 4: for i in range(0,size):

                      elem=int(input(“Please give value for index “+str(i)+”: “))

                      arr.append(elem)

Step 5: for i in range(0,2):

temp=arr[size-1];

    for j in range(size-1,-1,-1):

            arr[j]=arr[j-1]

   arr[0]=temp;

Step 6: print arr

Step 7: Stop

Python code to perform right rotation on array (list) elements by n positions

Output 1:

python program to perform right rotation in python

Explanation:

For the input array (list)  : [1, 2, 3, 4, 5], and the user inputs the rotation value as 3, the for loop will rotate the array 3 times.

                        For 1st rotation the array becomes : [5, 1, 2, 3, 4].

                        For 2nd rotation the array becomes : [4, 5, 1, 2, 3] .

                        And finally for 3rd rotation the array becomes : [3, 4, 5, 1, 2]

Output 2:

array right rotation python program

Explanation:

For the input array (list)  : [9, 8, 7, 6, 5, 4], and the user inputs the rotation value as 3, the for loop will rotate the array 4 times.

                        For 1st rotation the array becomes : [4, 9, 8, 7, 6, 5].

                        For 2nd rotation the array becomes : [5, 4, 9, 8, 7, 6] .

                        For 3rd rotation the array becomes : [6, 5, 4, 9, 8, 7] .

            And finally for the 4th rotation the array becomes : [7, 6, 5, 4, 9, 8]