सरणी रोटेशन के लिए रिवर्सल एल्गोरिथम को लागू करने के लिए जावा प्रोग्राम निम्नलिखित है -
उदाहरण
import java.io.*; public class Demo{ static void rotate_left(int my_arr[], int no_of_rotation){ int n = my_arr.length; array_reversal(my_arr, 0, no_of_rotation - 1); array_reversal(my_arr, no_of_rotation, n - 1); array_reversal(my_arr, 0, n - 1); } static void array_reversal(int my_arr[], int start, int end){ int temp; while (start < end) { temp = my_arr[start]; my_arr[start] = my_arr[end]; my_arr[end] = temp; start++; end--; } } public static void main(String[] args){ int my_arr[] = { 45, 67, 89, 91, 23, 0, 11 }; rotate_left(my_arr, 4); System.out.println("The array after rotating is "); for (int i = 0; i < my_arr.length; i++) System.out.print(my_arr[i] + " "); } }
आउटपुट
The array after rotating is 23 0 11 45 67 89 91
डेमो नामक एक वर्ग में 'रोटेट_लेफ्ट' नामक एक फ़ंक्शन होता है। सरणी, और वह राशि जिसके द्वारा सरणी को घुमाने की आवश्यकता होती है, फ़ंक्शन के पैरामीटर के रूप में पारित की जाती है। सरणी की लंबाई को दूसरे चर को भी सौंपा गया है। 'array_reversal' नामक एक अन्य फ़ंक्शन को परिभाषित किया गया है जो सरणी, बीजिनिंग इंडेक्स और अंतिम इंडेक्स मान लेता है।
यदि आरंभिक सूचकांक अंतिम सूचकांक से कम है, तो एक 'अस्थायी' चर परिभाषित किया जाता है और तत्वों की अदला-बदली की जाती है। प्रारंभिक सूचकांक में वृद्धि हुई है और समाप्ति सूचकांक में कमी आई है। मुख्य फ़ंक्शन का उपयोग किसी सरणी को परिभाषित करने और इस सरणी पर 'रोटेट_लेफ्ट' फ़ंक्शन को कॉल करने के लिए किया जाता है।