rotate in cpp
vector v{1,2,3,4,5,6,7,8,9};
int rot = 2;
//rotate left
rotate(v.begin(), v.begin() + rot, v.end()); //vector: 3 4 5 6 7 8 9 1 2
//rotate right
rotate(v.begin(), v.begin()+v.size()-rot, v.end()); //vector: 8 9 1 2 3 4 5 6 7
rotate in cpp
#include
using namespace std;
void leftRotateByOne(int arr[], int n)
{
int temp = arr[0];
for (int i = 0; i < n - 1; i++)
{
arr[i] = arr[i + 1];
}
arr[n - 1] = temp;
}
void leftRotate(int arr[], int d, int n)
{
for (int i = 0; i < d; i++)
{
leftRotateByOne(arr,n);
}
}
void print(int arr[],int n)
{
for (int i = 0; i < n; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}
void main()
{
int arr[] = { 1,2,3,4,5,6,7 };
int n = sizeof(arr) / sizeof(arr[0]);
// function calling.
leftRotate(arr, 2, n);
print(arr, n);
}
|