The Program in C to left rotate an array by one element is given below:
#include <stdio.h>
void leftRotate(int array[], int size) {
int i, temp = array[0];
// shift all elements to the left
for (i = 0; i < size - 1; i++) {
array[i] = array[i + 1];
}
// move the first element to the last
array[size - 1] = temp;
}
int main() {
int array[100], size;
printf("Enter the size of array : ");
scanf("%d", &size);
printf("Enter the elements of array : ");
for (int i = 0; i < size; i++) {
scanf("%d", &array[i]);
}
leftRotate(array, size);
printf("After left rotation : ");
for (int i = 0; i < size; i++) {
printf("%d ", array[i]);
}
return 0;
}
Output:
Enter the size of array : 3
Enter the elements of array : 12
88
56
After left rotation : 88 56 12
Pro-Tips💡
This program takes input from the user for the array and its size, and then calls the “leftRotate” function which shifts all elements of the array one position to the left and then moves the first element of the array to the last. This way the array is left rotated by one element.
Please note that this code is given as an example and may not be the most efficient or optimal solution for the problem, and also arrays are fixed size in C and if size of array is not sufficient it will cause buffer overflow.