Performing left rotation in array means, our first element will become last element and shift each array elements towards left by one. Here we are going to perform left rotation by 2 times means we will shift each array element toward left two times.
Our problem statement
Suppose we have an array that has elements a={1,2,3,4,5}. As we have to perform left rotation in array, after first time left rotation element will become {2,3,4,5,1}. Now after performing left rotation again, I mean 2nd time array will become {3,4,5,1,2}. So this the exact output which we want by our program for an input array.
Program in C to perform left rotation by 2
#include<stdio.h> int main() { int i,size,j,k,temp; printf("C Program to perform two time left rotation \n"); printf("First enter number of elements you want in array\n"); scanf("%d", &size); int arr[size]; for(i = 0; i < size; i++) { printf("Please give value for index %d : ",i); scanf("%d",&arr[i]); } for(i=0; i<2; i++) { temp=arr[0]; for(j=0; j<size-1; j++) { arr[j]=arr[j+1]; } arr[size-1]=temp; } printf("Array after two time left rotation \n"); for(i=0; i<size; i++) { printf("%d ",arr[i]); } return 0; }
Output
[wpusb]