How to Rotate Elements in an Array in C - Step by Step Examples
How to Rotate Elements in an Array in C ?
Answer
To rotate elements in an array in C, you can use a temporary array or perform the rotation in place using loops. The rotation can be either to the left or to the right, depending on your requirements.
✐ Examples
1 Rotate Array to the Left
In this example,
- We create an array named
arr
with integer values. - We define a variable
n
to specify the number of elements in the array and a variablek
to specify the number of positions to rotate. - We create a temporary array to store the elements after rotation.
- We use a loop to copy the elements to the temporary array in their new positions.
- Finally, we copy the elements from the temporary array back to the original array and print the rotated array.
C Program
#include <stdio.h>
void rotateLeft(int arr[], int n, int k) {
int temp[n];
for (int i = 0; i < n; i++) {
temp[i] = arr[(i + k) % n];
}
for (int i = 0; i < n; i++) {
arr[i] = temp[i];
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int k = 2; // Number of positions to rotate
rotateLeft(arr, n, k);
printf("Rotated array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
Output
Rotated array: 3 4 5 1 2
2 Rotate Array to the Right
In this example,
- We create an array named
arr
with integer values. - We define a variable
n
to specify the number of elements in the array and a variablek
to specify the number of positions to rotate. - We create a temporary array to store the elements after rotation.
- We use a loop to copy the elements to the temporary array in their new positions.
- Finally, we copy the elements from the temporary array back to the original array and print the rotated array.
C Program
#include <stdio.h>
void rotateRight(int arr[], int n, int k) {
int temp[n];
for (int i = 0; i < n; i++) {
temp[(i + k) % n] = arr[i];
}
for (int i = 0; i < n; i++) {
arr[i] = temp[i];
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int k = 2; // Number of positions to rotate
rotateRight(arr, n, k);
printf("Rotated array: ");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
Output
Rotated array: 4 5 1 2 3
Summary
In this tutorial, we learned How to Rotate Elements in an Array in C language with well detailed examples.
More C Arrays Tutorials
- How to Declare an Array in C ?
- How to Initialize an Array in C ?
- How to Access Array Elements in C ?
- How to Access Array Elements using Index in C ?
- How to get First Element in Array in C ?
- How to get Last Element in Array in C ?
- How to check if an Array is Empty in C ?
- How to check if an Array is Not Empty in C ?
- How to get Sub Array in C ?
- How to Get Array Length in C ?
- How to Iterate Over an Array in C ?
- How to Iterate Over an Array in Reverse Order in C ?
- How to get the Index of Specified Element in an Array in C ?
- How to check if Specified Element is present in the Array in C ?
- How to count the Number of Occurrences of Specified Element in the Array in C ?
- How to Sort an Array in C ?
- How to Sort an Array in Ascending Order in C ?
- How to Sort an Array in Descending Order in C ?
- How to create a Two Dimensional Array in C ?
- How to Iterate over a Two Dimensional Array in C ?
- How to create a Three Dimensional Array in C ?
- How to Copy an Array in C ?
- How to Split an Array in C ?
- How to Join Arrays in C ?
- How to check if Two Arrays are Equal in C ?
- How to check if Two Arrays have Same Elements (Regardless of Order) in C ?
- How to Convert an Array of Integers to an Array of Strings in C ?
- How to Convert an Array of Strings to an Array of Integers in C ?
- How to Reverse an Array in C ?
- How to Shuffle an Array in C ?
- How to Rotate Elements in an Array in C ?
- How to Filter Elements of an Array based on a Condition in C ?
- How to Declare an Integer Array in C ?
- How to Declare a Float Array in C ?
- How to Declare a String Array in C ?
- How to Remove Duplicates in an Array in C ?
- How to Remove Specific Element from an Array in C ?
- How to Remove Element from Array based on a Condition in C ?
- How to Sort a String Array in Dictionary Order in C ?
- How to Concatenate Strings in Array in C ?