rotate an array of n elements to the right by k steps

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

void rotateArray(vector<int>& nums, int k) {
    int n = nums.size();
    k = k % n;

    // Reverse the entire array
    reverse(nums.begin(), nums.end());

    // Reverse the first k elements
    reverse(nums.begin(), nums.begin() + k);

    // Reverse the remaining elements
    reverse(nums.begin() + k, nums.end());
}

int main() {
    // Example usage
    vector<int> nums = {1, 2, 3, 4, 5, 6, 7};
    int k = 3;

    rotateArray(nums, k);

    // Display the rotated array
    cout << "Rotated Array: ";
    for (int num : nums) {
        cout << num << " ";
    }

    return 0;
}