BeginnersBook

  • Home
  • Java
    • Java OOPs
    • Java Collections
    • Java Examples
  • C
    • C Examples
  • C++
    • C++ Examples
  • DBMS
  • Computer Network
  • Python
    • Python Examples
  • More…
    • jQuery
    • Kotlin
    • WordPress
    • SEO
    • JSON
    • JSP
    • JSTL
    • Servlet
    • MongoDB
    • XML
    • Perl

Java Program to right rotate the elements of an array

By Chaitanya Singh | Filed Under: Java Examples

In this tutorial, we will write a java program to right rotate the elements of an array by a specified number. For example, if we are right rotate an array {10, 20, 30, 40 ,50} by n =1 then the output array would look like this: {50, 10, 20, 30, 40}.

The concept is similar to the left rotation, except that the elements are shifted to right in right rotation. All the elements are shifted to the right by the specified number n, in the above example all elements are shifted to the right by 1 position. If n = 2, then the elements shift to right by two positions and last two elements would be shifted to the beginning of the array.

Let’s take few example to understand the concept and then we will write a program to implement this:

Let's say an Array is {11, 22, 33, 44, 55, 66}
Right rotate by 2
After first rotation: {66, 11, 22, 33, 44, 55}
After second rotation: {55, 66, 11, 22, 33, 44}
Output array would be {55, 66, 11, 22, 33, 44}
Note that the last elements are shifted to the start of the array.

Let's Right rotate the same array by 3  
Array is {11, 22, 33, 44, 55, 66}
After first rotation: {66, 11, 22, 33, 44, 55}
After second rotation: {55, 66, 11, 22, 33, 44}
After third rotation: {44, 55, 66, 11, 22, 33}
Output array would be {44, 55, 66, 11, 22, 33}

Program to Right rotate the elements of a given array

In the following example, we have initialized an array and we have a number n that represents the number of times the array should be right rotated.

We run a loop from 0 till the number n (specifies the right rotation count) and at each iteration of this loop, we shift the element to the right by one position.

Which means, the first element would move to 2nd position, second element would move to 3rd position and so on. Before shifting any element, we store the last element in a different variable lastElement which we add at the beginning of the array.

class JavaExample {
  public static void main(String[] args) {
    //Initializing the array numbers
    int [] numbers = new int [] {11, 22, 33, 44, 55, 66};
    /* This number specifies how many times the array needs
     * to be right rotated.
     */
    int n = 2;
    System.out.println("Given array is: ");
    for (int i = 0; i < numbers.length; i++) {
      System.out.print(numbers[i] + " ");
    }
    //Right rotate the array by n times
    for(int i = 0; i < n; i++){
      int j, lastElement;
      //Storing the last element of the array to move to start
      lastElement = numbers[numbers.length-1];
      for(j = numbers.length-1; j > 0; j--){
        //Shifting the element to right by 1 on each iteration of loop
        numbers[j] = numbers[j-1];
      }
      //Adding the last element at the beginning of the array
      numbers[0] = lastElement;
    }
    System.out.println();
    //Printing output array
    System.out.println("Array after "+n+" right rotations: ");
    for(int i = 0; i< numbers.length; i++){
      System.out.print(numbers[i] + " ");
    }
  }
}  

Output:

Given array is: 
11 22 33 44 55 66 
Array after 2 right rotations: 
55 66 11 22 33 44 

Related Java Programs

  1. Java Program to left rotate the elements of an array
  2. Java Program to find the frequency of each element in the array
  3. Java Program to copy all elements of one array to another array
  4. Java Program to print the elements of an array present on even position
❮ Java TutorialJava Programs ❯

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Programs

  • C Programs
  • Java Programs
  • C++ Programs

Java Examples

  • Check Odd-even
  • Linear Search
  • Binary Search
  • Floyd's Triangle
  • Reverse number
  • Random Number
  • first n prime numbers
  • Disp prime Numbers
  • Check Prime number
  • Palindrome String
  • Find factorial
  • Sum of elements of Array
  • Area of rectangle
  • Area of Square
  • Area of Triangle
  • Circle

Tutorials

  • Java Tutorial
  • OOPs Concepts
  • Java String
  • Exception handling
  • Java Multithreading
  • Java I/O
  • Java Serialization
  • Java Regex
  • Java AWT
  • Java Swing
  • Java Enum
  • Java Annotations

Copyright © 2012 – 2022 BeginnersBook . Privacy Policy . Sitemap