rotate array k times 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: array rotation program in java

//Rotating array left 
//d = number of rotations
static void rotLeft(int[] a, int d)
{
    //using secondary array of  same size 
	int [] n = new int[a.length];
    //saving element into array n[] according to newlocation of rotations(d)
	for(int i = 0; i < a.length; i++)
	{
		int newlocation = (i+(a.length - d))% a.length;
		n[newlocation] = a[i];
	}
	//printing new rotated array
	for(int i = 0; i < a.length; i++)
	{
		System.out.print(n[i]+ " ");
	}
}

Example 3: rotate array c#

static int[] rotLeft(int[] a, int d) {

    Queue<int> queue = new Queue<int>(a);
    Stack<int> stack = new Stack<int>();

    while(d > 0)
    {
        stack.Push(queue.Dequeue());
        queue.Enqueue(stack.Pop());
        d--;            
    }

    return queue.ToArray();
}

Tags:

Java Example