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; +}