From c2ffdf1120755c3d66b640cf9db55c9be5e45a2f Mon Sep 17 00:00:00 2001 From: Monalika Date: Wed, 26 May 2021 03:15:16 +0530 Subject: [PATCH] Create Array Rotation.cpp --- Array Rotation.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Array Rotation.cpp diff --git a/Array Rotation.cpp b/Array Rotation.cpp new file mode 100644 index 0000000..9cddb59 --- /dev/null +++ b/Array Rotation.cpp @@ -0,0 +1,42 @@ +// C++ program to rotate an array by +// d elements +#include +using namespace std; + +/*Function to left Rotate arr[] of + size n by 1*/ +void leftRotatebyOne(int arr[], int n) +{ + int temp = arr[0], i; + for (i = 0; i < n - 1; i++) + arr[i] = arr[i + 1]; + + arr[n-1] = temp; +} + +/*Function to left rotate arr[] of size n by d*/ +void leftRotate(int arr[], int d, int n) +{ + for (int i = 0; i < d; i++) + leftRotatebyOne(arr, n); +} + +/* utility function to print an array */ +void printArray(int arr[], int n) +{ + for (int i = 0; i < n; i++) + cout << arr[i] << " "; +} + +/* Driver program to test above functions */ +int main() +{ + int arr[] = { 1, 2, 3, 4, 5, 6, 7 }; + int n = sizeof(arr) / sizeof(arr[0]); + + // Function calling + leftRotate(arr, 2, n); + printArray(arr, n); + + return 0; +}