How to Rotate Elements in an Array in C


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,

  1. We create an array named arr with integer values.
  2. We define a variable n to specify the number of elements in the array and a variable k to specify the number of positions to rotate.
  3. We create a temporary array to store the elements after rotation.
  4. We use a loop to copy the elements to the temporary array in their new positions.
  5. 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,

  1. We create an array named arr with integer values.
  2. We define a variable n to specify the number of elements in the array and a variable k to specify the number of positions to rotate.
  3. We create a temporary array to store the elements after rotation.
  4. We use a loop to copy the elements to the temporary array in their new positions.
  5. 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

  1. How to Declare an Array in C ?
  2. How to Initialize an Array in C ?
  3. How to Access Array Elements in C ?
  4. How to Access Array Elements using Index in C ?
  5. How to get First Element in Array in C ?
  6. How to get Last Element in Array in C ?
  7. How to check if an Array is Empty in C ?
  8. How to check if an Array is Not Empty in C ?
  9. How to get Sub Array in C ?
  10. How to Get Array Length in C ?
  11. How to Iterate Over an Array in C ?
  12. How to Iterate Over an Array in Reverse Order in C ?
  13. How to get the Index of Specified Element in an Array in C ?
  14. How to check if Specified Element is present in the Array in C ?
  15. How to count the Number of Occurrences of Specified Element in the Array in C ?
  16. How to Sort an Array in C ?
  17. How to Sort an Array in Ascending Order in C ?
  18. How to Sort an Array in Descending Order in C ?
  19. How to create a Two Dimensional Array in C ?
  20. How to Iterate over a Two Dimensional Array in C ?
  21. How to create a Three Dimensional Array in C ?
  22. How to Copy an Array in C ?
  23. How to Split an Array in C ?
  24. How to Join Arrays in C ?
  25. How to check if Two Arrays are Equal in C ?
  26. How to check if Two Arrays have Same Elements (Regardless of Order) in C ?
  27. How to Convert an Array of Integers to an Array of Strings in C ?
  28. How to Convert an Array of Strings to an Array of Integers in C ?
  29. How to Reverse an Array in C ?
  30. How to Shuffle an Array in C ?
  31. How to Rotate Elements in an Array in C ?
  32. How to Filter Elements of an Array based on a Condition in C ?
  33. How to Declare an Integer Array in C ?
  34. How to Declare a Float Array in C ?
  35. How to Declare a String Array in C ?
  36. How to Remove Duplicates in an Array in C ?
  37. How to Remove Specific Element from an Array in C ?
  38. How to Remove Element from Array based on a Condition in C ?
  39. How to Sort a String Array in Dictionary Order in C ?
  40. How to Concatenate Strings in Array in C ?