Rotation of array 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;
}
3.57
7
List<int> iList = new List<int>();
private void shift(int n)
{
for (int i = 0; i < n; i++)
{
iList.Add(iList[0]);
iList.RemoveAt(0);
}
}
Thank you!
7
0
4.67
3
Input arr[] = [1, 2, 3, 4, 5, 6, 7], d = 2, n =7
1) Store the first d elements in a temp array
temp[] = [1, 2]
2) Shift rest of the arr[]
arr[] = [3, 4, 5, 6, 7, 6, 7]
3) Store back the d elements
arr[] = [3, 4, 5, 6, 7, 1, 2]
Thank you!
3
0
Are there any code examples left?
New code examples in category C
-
C 2022-03-27 22:30:45 Problem Statement Print the following output: \ Input Format IN Output Format \
-
C 2022-03-27 18:30:08 how to free memory in c
-
C 2022-03-27 18:00:14 linux command line windows
-
C 2022-03-27 18:00:02 C example of if else
-
C 2022-03-27 17:10:18 sum of digits in c using for loop
-
C 2022-03-27 12:35:50 replace word in c
-
C 2022-03-27 07:40:11 How to setup a line length marker in vim
-
C 2022-03-27 07:35:09 Multi Select with icons htm;