सरणी रोटेशन के लिए जावा प्रोग्राम निम्नलिखित है -
उदाहरण
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("Rotating the array to the left "); my_inst.rotate_left(my_arr, 2, 8); System.out.println("Displaying the array from a specific index "); my_inst.display_arr(my_arr, 8); } }
आउटपुट
Rotating the array to the left Displaying the array from a specific index 89 91 34 21 11 0 5 7
डेमो नामक एक वर्ग में 'रोटेट_लेफ्ट' नामक एक स्थिर कार्य होता है। यहां, सरणी को फ़ंक्शन के मापदंडों में से एक के रूप में पारित किया जाता है, 'डी' वह राशि है जिसके द्वारा सरणी को घुमाया जाना चाहिए और 'लेन' सरणी का आकार है। 'd' और 'len' के मान को पास करके 'greatest_common_divisor' फ़ंक्शन को कॉल किया जाता है। फ़ंक्शन कॉल के परिणाम पर 'greatest_common_divisor' पर 'फॉर' लूप को पुनरावृत्त किया जाता है।
'Display_arr' नाम के एक फंक्शन को परिभाषित किया जाता है जो कि ऐरे एलिमेंट्स को प्रदर्शित करने के लिए उपयोग किया जाता है। एक अन्य फ़ंक्शन 'greatest_Common_divisor' को दो संख्याओं के बीच सबसे बड़ा सामान्य भाजक खोजने के लिए परिभाषित किया गया है, यह एक पुनरावर्ती कार्य है। मुख्य कार्य में, कक्षा का एक उदाहरण बनाया जाता है। एक सरणी भी परिभाषित की जाती है, और इस ऑब्जेक्ट पर फ़ंक्शन को कॉल किया जाता है। प्रासंगिक डेटा 'display_arr' फ़ंक्शन का उपयोग करके प्रदर्शित किया जाता है।