समस्या विवरण
हमें कुछ आकार n का एक ऐरे और कई पूर्णांक मान दिए गए हैं, हमें दिए गए इंडेक्स k से ऐरे को रोटेट करना होगा।
उदाहरण
इनपुट: arr[] = {1, 2, 3, 4, 5}
K1 = 1, K2 = 3, K3 = 6
आउटपुट:
2 3 4 5 1
4 5 1 2 3
2 3 4 5 1
एल्गोरिदम
शुरुआत
चरण 1: void leftRotate(int arr[], int n, int k) फंक्शन घोषित करें
int cal = k % n घोषित करें
i = 0 से n-1 तक लूप
arr[(cal + i) % n] प्रिंट करें
अंत
चरण 2: main() में
array a[] = {1,2,3,4} घोषित करें
int size = sizeof(a)/sizeof(a[0]) घोषित करें
int k = 1 घोषित करें
leftRotate(a, size, k) कॉल करें
k = 2 सेट करें
leftRotate(a, size, k) कॉल करें
k = 3 सेट करें
leftRotate(a, size, k) कॉल करें
रोकें
C++ प्रोग्राम उदाहरण
#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]);
int k = 1;
leftRotate(a, size, k);
k = 2;
leftRotate(a, size, k);
k = 3;
leftRotate(a, size, k);
return 0;
}
आउटपुट
उपरोक्त प्रोग्राम चलाने पर निम्नलिखित आउटपुट उत्पन्न होगा:
2 3 4 1 3 4 1 2 4 1 2 3