Open In App

C Program for Program to cyclically rotate an array by one

Last Updated : 08 Aug, 2022
Comments
Improve
Suggest changes
Like Article
Like
Report

Given an array, cyclically rotate the array clockwise by one.

Examples:

Input  :  arr[] = {1, 2, 3, 4, 5}
Output : arr[] = {5, 1, 2, 3, 4}
C++
// C++ code for program to 
// cyclically rotate an array by one

# include <iostream>

using namespace std;

// Method 
void rotate(int arr[], int n)
{
    int x = arr[n - 1], i;
    for (i = n - 1; i > 0; i--)
    arr[i] = arr[i - 1]; 
    arr[0] = x;
}

// Main driver method
int main() 
{
    int arr[] = {1, 2, 3, 4, 5}, i;
    int n = sizeof(arr) / 
            sizeof(arr[0]);

    cout << "Given array is \n";
    for (i = 0; i < n; i++)
        cout << arr[i];

    rotate(arr, n);

    cout << "\nRotated array is\n";
    for (i = 0; i < n; i++)
        cout << arr[i];

    return 0;
}

// This code is contributed by jit_t
C
#include <stdio.h>

void rotate(int arr[], int n)
{
   int x = arr[n-1], i;
   for (i = n-1; i > 0; i--)
      arr[i] = arr[i-1];
   arr[0] = x;
}

int main()
{
    int arr[] = {1, 2, 3, 4, 5}, i;
    int n = sizeof(arr)/sizeof(arr[0]);

    printf("Given array is\n");
    for (i = 0; i < n; i++)
        printf("%d ", arr[i]);

    rotate(arr, n);

    printf("\nRotated array is\n");
    for (i = 0; i < n; i++)
        printf("%d ", arr[i]);

    return 0;
}

Output
Given array is 
12345
Rotated array is
51234

Time Complexity: O(n)

Auxiliary Space: O(1)

Please refer complete article on Program to cyclically rotate an array by one for more details!


Next Article
Article Tags :

Similar Reads