rotate an array by one code example

Example 1: rotate an array right in c

// C program to rotate an array cyclically

#include <stdio.h>

void rightRotateByOne(int arr[], int n) //function for cyclically rotating an array once
{
   int x = arr[n-1], i;
   for (i = n-1; i > 0; i--)
      arr[i] = arr[i-1];
   arr[0] = x;
}

int main()
{int t;
scanf("%d",&t);//number of test cases
int p;
for(p=0;p<t;p++){
    int n,i,k;
    scanf("%d %d",&n,&k); // n--> size of array ; k--> number of rotations
    int arr[n];
    k=k%n;
    for(i=0;i<n;i++){
        scanf("%d",&arr[i]);
    }
int j;
 for(j=0;j<k;j++) //cyclically rotating an array k times
{rightRotateByOne(arr, n);}


    for (i = 0; i < n; i++){
        printf("%d ", arr[i]);}
        printf("\n");}

    return 0;
}

Example 2: gfg cyclic array rotation

# include <iostream> 
using namespace std; 

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


int main() 
{ 
	int arr[100], i; 
	int n, turns;

	cin >> n;

	for(i=0;i<n;i++){
		scanf("%d", &arr[i]);
	}
    
	cin >> turns;

	while(turns>=1){
		rotate(arr,n);
		turns--;
	}

	for(i=0;i<n;i++){
		cout << arr[i] << " ";
	}

	return 0; 
}

Tags:

Cpp Example