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 using C++, you can implement a custom rotation function that shifts elements by a specified number of positions.



✐ Examples

1 Rotate Array of Integers

In this example,

  1. We have a vector named intVector containing integers.
  2. We implement a custom rotateArray function that shifts elements by a specified number of positions.
  3. We print the rotated vector to demonstrate the rotation.

C++ Program

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

void rotateArray(vector<int>& array, int positions) {
    positions %= array.size();
    reverse(array.begin(), array.end());
    reverse(array.begin(), array.begin() + positions);
    reverse(array.begin() + positions, array.end());
}

int main() {
    vector<int> intVector = {1, 2, 3, 4, 5};
    int positions = 2;
    rotateArray(intVector, positions);
    cout << "Rotated Vector: [";
    for (int i = 0; i < intVector.size(); i++) {
        cout << intVector[i];
        if (i != intVector.size() - 1) cout << ", ";
    }
    cout << "]" << endl;
    return 0;
}

Output

Rotated Vector: [4, 5, 1, 2, 3]

2 Rotate Array of Strings

In this example,

  1. We have a vector named strVector containing strings.
  2. We implement a custom rotateArray function that shifts elements by a specified number of positions.
  3. We print the rotated vector to demonstrate the rotation.

C++ Program

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;

void rotateArray(vector<string>& array, int positions) {
    positions %= array.size();
    reverse(array.begin(), array.end());
    reverse(array.begin(), array.begin() + positions);
    reverse(array.begin() + positions, array.end());
}

int main() {
    vector<string> strVector = {"apple", "banana", "cherry", "date", "fig"};
    int positions = 3;
    rotateArray(strVector, positions);
    cout << "Rotated Vector: [";
    for (int i = 0; i < strVector.size(); i++) {
        cout << strVector[i];
        if (i != strVector.size() - 1) cout << ", ";
    }
    cout << "]" << endl;
    return 0;
}

Output

Rotated Vector: [date, fig, apple, banana, cherry]

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++ ?