Array Rotation in C

# Array Rotation in C

401

## Introduction to Array Rotation in C

Array rotation is a fundamental operation in programming, especially in array manipulation tasks.

It involves shifting the elements of an array cyclically to the left or right.

This operation finds applications in various domains, including image processing, cryptography, and algorithm design.

Original Array: [1, 2, 3, 4, 5]

After Left Rotation by 2:
[3, 4, 5, 1, 2]

After Right Rotation by 3:
[3, 4, 5, 1, 2]

Example:

// Program for Array Rotation in C
#include<stdio.h>

// Function to rotate an array to the left by 'd' positions
void leftRotate(int arr[], int n, int d) {
int temp[d];
for (int w1 = 0; w1 < d; w1++)
temp[i] = arr[i];

for (int w1 = d; w1 < n; w1++)
arr[w1 - d] = arr[w1];

for (int w1 = 0; w1 < d; w1++)
arr[n - d + w1] = temp[w1];
}

// Function to rotate an array to the right by 'd' positions
void rightRotate(int arr[], int n, int d) {
int temp[d];
for (int w1 = n - d; w1 < n; w1++)
temp[w1 - (n - d)] = arr[w1];

for (int w1 = n - d - 1; w1 >= 0; w1--)
arr[w1 + d] = arr[w1];

for (int w1 = 0; w1 < d; w1++)
arr[i] = temp[i];
}

// Function to print an array
void printArray(int arr[], int n) {
for (int w1 = 0; w1 < n; w1++)
printf("%d ", arr[w1]);
printf("\n");
}

int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int d = 2; // Number of positions to rotate

printf("Original Array: ");
printArray(arr, n);

leftRotate(arr, n, d);
printf("After Left Rotation by %d: ", d);
printArray(arr, n);

rightRotate(arr, n, d);
printf("After Right Rotation by %d: ", d);
printArray(arr, n);

return 0;
}

Output:

Original Array: 1 2 3 4 5
After Left Rotation by 2: 3 4 5 1 2
After Right Rotation by 2: 1 2 3 4 5

This program defines two functions, leftRotate() and rightRotate(), to perform left and right rotations, respectively, on an array.

The printArray() function is used to display the array elements.

In the main() function, an array is initialized, and rotations are performed and printed to demonstrate the functionality.

Share:

## SEMRush FREE Trial – PRO Account for 14 Days

FREE Pro Account worth \$99.95 for 14 Days.

## Get a .COM for just \$6.98

Secure Domain for a Mini Price