ऐरे रोटेशन के लिए जावा प्रोग्राम निम्नलिखित है:
उदाहरण
public class Demo{
void rotate_left(int my_arr[], int d, int len){
d = d % len;
int i, j, k, temp;
int divisor = greatest_Common_divisor(d, len);
for (i = 0; i < divisor; i++){
temp = my_arr[i];
j = i;
while (true){
k = j + d;
if (k >= len)
k = k - len;
if (k == i)
break;
my_arr[j] = my_arr[k];
j = k;
}
my_arr[j] = temp;
}
}
void display_arr(int my_arr[], int size){
int i;
for (i = 0; i < size; i++)
System.out.print(my_arr[i] + " ");
}
int greatest_Common_divisor(int a, int b){
if (b == 0)
return a;
else
return greatest_Common_divisor(b, a % b);
}
public static void main(String[] args){
Demo my_inst = new Demo();
int my_arr[] = { 5, 7, 89, 91, 34, 21, 11, 0 };
System.out.println("ऐरे को बाईं ओर घुमा रहे हैं ");
my_inst.rotate_left(my_arr, 2, 8);
System.out.println("एक विशिष्ट इंडेक्स से ऐरे प्रदर्शित कर रहे हैं ");
my_inst.display_arr(my_arr, 8);
}
}
आउटपुट
ऐरे को बाईं ओर घुमा रहे हैं एक विशिष्ट इंडेक्स से ऐरे प्रदर्शित कर रहे हैं 89 91 34 21 11 0 5 7
Demo नामक एक क्लास में rotate_left नामक एक स्टैटिक फंक्शन होता है। यहां, ऐरे को फंक्शन के पैरामीटर्स में से एक के रूप में पास किया जाता है, d वह मात्रा है जिससे ऐरे को घुमाया जाना चाहिए और len ऐरे का आकार है। greatest_common_divisor फंक्शन को d और len के मान पास करके कॉल किया जाता है। greatest_common_divisor फंक्शन कॉल के परिणाम पर एक for लूप पुनरावृति करता है।
display_arr नामक एक फंक्शन परिभाषित किया जाता है जिसका उपयोग ऐरे तत्वों को प्रदर्शित करने के लिए किया जाता है। एक अन्य फंक्शन greatest_Common_divisor दो संख्याओं के बीच महत्तम समापवर्तक खोजने के लिए परिभाषित किया जाता है, यह एक रिकर्सिव फंक्शन है। मुख्य फंक्शन में, क्लास का एक इंस्टेंस बनाया जाता है। एक ऐरे भी परिभाषित किया जाता है, और इस ऑब्जेक्ट पर फंक्शन को कॉल किया जाता है। प्रासंगिक डेटा display_arr फंक्शन का उपयोग करके प्रदर्शित किया जाता है।