Program to left rotate the elements of an array

In this program, we need to rotate the elements of an array towards the left by the specified number of times. In the left rotation, each element of the array will be shifted to its left by one position and the first element of the array will be added to end of the list. This process will be followed for a specified number of times.

Program to left rotate the elements of an array

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

Algorithm

  • STEP 1: START
  • STEP 2: INITIALIZE arr[] ={1, 2, 3, 4, 5 }.
  • STEP 3: SET n =3
  • STEP 4: PRINT “Original Array”
  • STEP 5: REPEAT STEP 6 for(i=0; i<arr.length; i++)
  • STEP 6: PRINT arr[i]
  • STEP 7: REPEAT STEP 8 to STEP 12 for(i=0; i<n; i++ )
  • STEP 8: DEFINE j, first.
  • STEP 9: first = arr[0]
  • STEP 10: REPEAT STEP 11 for(j= 0; j<arr.length-1; j++)
  • STEP 11: arr[j]= arr[j+1]
  • STEP 12: arr[j]= first
  • STEP 13: PRINT “Array after left rotation”
  • STEP 14: REPEAT STEP 15 for(i=0; i<arr.length; i++)
  • STEP 15: PRINT arr[i]
  • STEP 16: END

Program:

  1. class RotateLeft {  
  2.     public static void main(String[] args) {  
  3.         //Initialize array  
  4.         int [] arr = new int [] {1, 2, 3, 4, 5};  
  5.         //n determine the number of times an array should be rotated  
  6.         int n = 3;  
  7.         //Displays original array  
  8.         System.out.println(“Original array: “);  
  9.         for (int i = 0; i < arr.length; i++) {  
  10.             System.out.print(arr[i] + ” “);  
  11.         }  
  12.         //Rotate the given array by n times toward left  
  13.         for(int i = 0; i < n; i++){  
  14.             int j, first;  
  15.             //Stores the first element of the array  
  16.             first = arr[0];  
  17.             for(j = 0; j < arr.length-1; j++){  
  18.                 //Shift element of array by one  
  19.                 arr[j] = arr[j+1];  
  20.             }  
  21.             //First element of array will be added to the end  
  22.             arr[j] = first;  
  23.         }  
  24.         System.out.println();  
  25.         //Displays resulting array after rotation  
  26.         System.out.println(“Array after left rotation: “);  
  27.         for(int i = 0; i< arr.length; i++){  
  28.             System.out.print(arr[i] + ” “);  
  29.         }  
  30.     }  
  31. }  

Output:

 Original Array:
1   2   3   4   5
Array after left rotation:
4   5   1   2   3

Leave a Comment