From 7ef9f0a87b176317b2118db4c7d15a19e2091733 Mon Sep 17 00:00:00 2001 From: Kiran Phulwariya <73221934+Kiran-9287@users.noreply.github.com> Date: Wed, 21 Oct 2020 14:08:55 +0530 Subject: [PATCH] Create Array_Rotation --- Array_Rotation | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Array_Rotation diff --git a/Array_Rotation b/Array_Rotation new file mode 100644 index 0000000..ac4d27d --- /dev/null +++ b/Array_Rotation @@ -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[i] = 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; +}