TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

Program to right rotate the elements of an array

Program to right rotate the elements of an array on fibonacci, factorial, prime, armstrong, swap, reverse, search, sort, stack, queue, array, linkedlist, tree, graph etc.

<< Back to PROGRAM

Q. Program to right rotate the elements of an array.

Explanation

In this program, we need to rotate the elements of array towards its right by the specified number of times. An array is said to be right rotated if all elements of the array are moved to its right by one position. One approach is to loop through the array by shifting each element of the array to its next position. The last element of the array will become the first element of the rotated array.

Program to right rotate the elements of an array

Consider above array, if n is 1 then, all elements of the array will be moved to its right by one position that is the first element of the array will take the second position, the second element will be moved to the third position and so on. The last element of the array will become the first element of the array.

Algorithm

  1. Declare and initialize an array.
  2. Variable n will denote the number of times an array should be rotated toward its right.
  3. The array can be right rotated by shifting its elements to a position next to them which can be accomplished by looping through the array in reverse order (loop will start from the length of the array -1 to 0) and perform the operation arr[j] = arr[j-1].
  4. The last element of the array will become the first element of the rotated array.

Solution

Python

#Initialize array 
arr = [1, 2, 3, 4, 5]; 
#n determine the number of times an array should be rotated
n = 3;
 
#Displays original array
print("Original array: ");
for i in range(0, len(arr)):
    print(arr[i]), 
 
#Rotate the given array by n times toward right
for i in range(0, n):
    #Stores the last element of array
    last = arr[len(arr)-1];
    
    for j in range(len(arr)-1, -1, -1):
        #Shift element of array by one
        arr[j] = arr[j-1];
        
    #Last element of the array will be added to the start of the array.

    arr[0] = last;
 
print();
 
#Displays resulting array after rotation
print("Array after right rotation: ");
for i in range(0, len(arr)):
    print(arr[i]),

Output:

Original array: 
1 2 3 4 5 
Array after right rotation: 
3 4 5 1 2 

C

#include 
 
int main()
{
    //Initialize array 
    int arr[] = {1, 2, 3, 4, 5}; 
    //Calculate length of array arr
    int length = sizeof(arr)/sizeof(arr[0]);
    //n determine the number of times an array should be rotated
    int n = 3;
    
    //Displays original array
    printf("Original array: \n");
    for (int i = 0; i < length; i++) { 
        printf("%d ", arr[i]); 
    } 
    
    //Rotate the given array by n times toward right
    for(int i = 0; i < n; i++){
        int j, last;
        //Stores the last element of the array
        last = arr[length-1];
    
        for(j = length-1; j > 0; j--){
            //Shift element of array by one
            arr[j] = arr[j-1];
        }
        //Last element of array will be added to the start of array.
        arr[0] = last;
    }
    
    printf("\n");
    
    //Displays resulting array after rotation
    printf("Array after right rotation: \n");
    for(int i = 0; i< length; i++){
        printf("%d ", arr[i]);
    }
    return 0;
}

Output:

Original array: 
1 2 3 4 5 
Array after right rotation: 
3 4 5 1 2 

JAVA

class RotateRight {
  
    public static void main(String[] args) {
        
        //Initialize array 
        int [] arr = new int [] {1, 2, 3, 4, 5}; 
        //n determine the number of times an array should be rotated.
        int n = 3;
        
        //Displays original array
        System.out.println("Original array: ");
        for (int i = 0; i < arr.length; i++) { 
            System.out.print(arr[i] + " "); 
        }  
        
        //Rotate the given array by n times toward right
        for(int i = 0; i < n; i++){
            int j, last;
            //Stores the last element of array
            last = arr[arr.length-1];
        
            for(j = arr.length-1; j > 0; j--){
                //Shift element of array by one
                arr[j] = arr[j-1];
            }
            //Last element of array will be added to the start of array.
            arr[0] = last;
        }
    
        System.out.println();
        
        //Displays resulting array after rotation
        System.out.println("Array after right rotation: ");
        for(int i = 0; i< arr.length; i++){
            System.out.print(arr[i] + " ");
        }
    }
}

Output:

Original array: 
1 2 3 4 5 
Array after right rotation: 
3 4 5 1 2 

C#

using System;
                    
public class RotateRight
{
    public static void Main()
    {
        //Initialize array 
        int [] arr = new int [] {1, 2, 3, 4, 5}; 
        //n determine the number of times an array should be rotated.
        int n = 3;
        
        //Displays original array
        Console.WriteLine("Original array: ");
        for (int i = 0; i < arr.Length; i++) { 
            Console.Write(arr[i] + " "); 
        }  
        
        //Rotate the given array by n times toward right
        for(int i = 0; i < n; i++){
            int j, last;
            //Stores the last element of array
            last = arr[arr.Length-1];
        
            for(j = arr.Length-1; j > 0; j--){
                //Shift element of array by one
                arr[j] = arr[j-1];
            }
            //Last element of array will be added to the start of array.
            arr[0] = last;
        }
    
        Console.WriteLine();
        
        //Displays resulting array after rotation
        Console.WriteLine("Array after right rotation: ");
        for(int i = 0; i< arr.Length; i++){
            Console.Write(arr[i] + " ");
        }
    }
}

Output:

Original array: 
1 2 3 4 5 
Array after right rotation: 
3 4 5 1 2 

PHP

<!DOCTYPE html>
<html>
<body>
<?php
//Initialize array 
$arr = array(1, 2, 3, 4, 5); 
//n determine the number of times an array should be rotated
$n = 3;
 
//Displays original array
print("Original array: <br>");
for ($i = 0; $i < count($arr); $i++) { 
    print($arr[$i] . " "); 
} 
    
//Rotate the given array by n times toward right
for($i = 0; $i < $n; $i++){
    //Stores the last element of array
    $last = $arr[count($arr)-1];
    
    for($j = count($arr)-1; $j > 0; $j--){
        //Shift element of array by one
        $arr[$j] = $arr[$j-1];
    }
    //Last element of array will be added to the start of array.
    $arr[0] = $last;
}    
 
print("<br>");
 
//Displays resulting array after rotation
print("Array after left rotation: <br>");
for ($i = 0; $i < count($arr); $i++) { 
    print($arr[$i] . " "); 
}    
?>
</body>
</html> 

Output:

Original array: 
1 2 3 4 5 
Array after right rotation: 
3 4 5 1 2 

Next Topic#




Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf