# Array Rotation in C ## Array rotation

In this Article we’ll be learning about program for array rotation of elements of array – left and right to a specified number of times. An array is said to be right rotated if all the selected elements were  moved towards right by one position.

## Array Rotation In C

### Method Discussed :

• Method 1 : Using Temporary array.
• Method 2 : Rotate one by one.

### Method 1 :

In this method we will declare an extra array to store some k elements. Here, k refers to number of rotations.

• Declare a temporary array of size k.
• Store the first k elements in temp[] array.
• Now, shift the remaining elements.
• After, shifting the elements add the elements of temp[] in the array. ### Method 1 : Code in C

Run
```//Write a program for array rotation in C
#include<stdio.h>

/* Driver program to test above functions */
int main()
{
int arr[] = { 10, 20, 30, 40, 50, 60, 70};
int n = sizeof(arr)/sizeof(arr);
int k = 3;

int temp[k];
for(int i=0; i<k; i++)
temp[i] = arr[i];

int x = k;
for(int i=0; x < n; i++){
arr[i] = arr[x++];
}
x = 0;

for(int i=n-k; i<n; i++)
arr[i] = temp[x++];
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);

return 0;
}```

### Output

`40 50 60 70 10 20 30`

### Method 2 :

In this method, we will rotate the elements one by one by shifting them.

### Method 2 : Code in C

Run
```//Write a program for array rotation in C
#include<stdio.h>

void leftRotatebyOne(int arr[], int n)
{
int temp = arr, i;
for (i = 0; i < n - 1; i++)
arr[i] = arr[i + 1];
arr[n-1] = temp;
}

void leftRotate(int arr[], int k, int n)
{
for (int i = 0; i < k; i++)
leftRotatebyOne(arr, n);
}

/* Driver program to test above functions */
int main()
{
int arr[] = { 10, 20, 30, 40, 50, 60, 70};
int n = sizeof(arr)/sizeof(arr);

leftRotate(arr, 3, n);

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

return 0;
}```

### Output

`40 50 60 70 10 20 30`

### Related Banners

Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription

## Get over 200+ course One Subscription

Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others

## Checkout list of all the video courses in PrepInsta Prime Subscription

### Traversals

• Traversal in Trees
• Tree Traversals: Breadth-First Search (BFS) : C | C++ | Java
• Tree Traversals: Depth First Search (DFS) : C | C++ | Java
• Construct a Binary Tree from Postorder and Inorder

### AVL Trees

• AVL Trees
• AVL Trees: Introduction
• AVL Tree Insertion : C | C++ | Java
• AVL Tree Deletion : C | C++ | Java
• Insertion in a Binary Tree (Level Order) – C | C++ | Java
• Searching in Binary Tree – C | C++ | Java
• Searching in a Binary Search Tree – C | C++ | Java

### Complete Programs for Trees

• Depth First Traversals – C | C++ | Java
• Level Order Traversal – C | C++Java
• Construct Tree from given Inorder and Preorder traversals – C | C++Java
• Construct Tree from given Postorder and Inorder traversals – C | C++Java
• Construct Tree from given Postorder and Preorder traversal – C | C++Java
• Find size of the Binary tree – C | C++Java
• Find the height of binary tree – C | C++Java
• Find maximum in binary tree – C | C++Java
• Check whether two tree are identical- CC++Java
• Spiral Order traversal of Tree- CC++Java
• Level Order Traversal Line by Line – C | C++Java
• Hand shaking lemma and some Impotant Tree Properties.
• Check If binary tree if Foldable or not.- CC++Java
• check whether tree is Symmetric – C| C++Java.
• Check for Children-Sum in Binary Tree- C|C++Java
• Sum of all nodes in Binary Tree- CC++ | Java
• Lowest Common Ancestor in Binary Tree- CC++ | Java

### Traversals

• Traversal in Trees
• Tree Traversals: Breadth-First Search (BFS) : C | C++ | Java
• Tree Traversals: Depth First Search (DFS) : C | C++ | Java
• Construct a Binary Tree from Postorder and Inorder

### AVL Trees

• AVL Trees
• AVL Trees: Introduction
• AVL Tree Insertion :  C | C++ | Java
• AVL Tree Deletion : C | C++ | Java
• Insertion in a Binary Tree (Level Order) – C | C++ | Java
• Searching in Binary Tree – C | C++ | Java
• Searching in a Binary Search Tree – C | C++ | Java

### Complete Programs for Trees

• Depth First Traversals – C | C++ | Java
• Level Order Traversal – C | C++Java
• Construct Tree from given Inorder and Preorder traversals – C | C++Java
• Construct Tree from given Postorder and Inorder traversals – C | C++Java
• Construct Tree from given Postorder and Preorder traversal – C | C++Java
• Find size of the Binary tree – C | C++Java
• Find the height of binary tree – C | C++Java
• Find maximum in binary tree – C | C++Java
• Check whether two tree are identical- CC++Java
• Spiral Order traversal of Tree- CC++Java
• Level Order Traversal LIne by Line – C | C++Java
• Hand shaking lemma and some Impotant Tree Properties.
• Check If binary tree if Foldable or not.- CC++Java
• check whether tree is Symmetric  C| C++Java.
• Check for Children-Sum in Binary Tree- C|C++Java
• Sum of all nodes in Binary Tree- CC++ | Java
• Lowest Common Ancestor in Binary Tree. CC++ | Java