Cho mảng kích thước n, xoay trái mảng từ chỉ số k.

Ví dụ
Input: arr[] = {1,2,3,4,5}, K1=1, K2=3, K3=6
Output:
2 3 4 5 1
4 5 1 2 3
2 3 4 5 1
Thuật toán
BẮT ĐẦU
HÀM leftRotate(int arr[], int n, int k)
cal = k % n
VỚI i=0 ĐẾN n-1
IN arr[(cal + i) % n]
KẾT THÚC VỚI
KẾT THÚC
Chương trình C++ ví dụ
#include <bits/stdc++.h>
using namespace std;
void leftRotate(int arr[], int n, int k) {
int cal = k % n;
for (int i = 0; i < n; i++)
cout << arr[(cal + i) % n] << " ";
cout << "\n";
}
int main() {
int a[] = {1, 2, 3, 4};
int size = sizeof(a) / sizeof(a[0]);
leftRotate(a, size, 1);
leftRotate(a, size, 2);
leftRotate(a, size, 3);
return 0;
}
Kết quả
2 3 4 1
3 4 1 2
4 1 2 3