ऐरे रोटेशन के लिए रिवर्सल एल्गोरिदम को लागू करने के लिए जावा प्रोग्राम निम्नलिखित है:
उदाहरण
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("रोटेट करने के बाद ऐरे है ");
for (int i = 0; i < my_arr.length; i++)
System.out.print(my_arr[i] + " ");
}
}
आउटपुट
रोटेट करने के बाद ऐरे है 23 0 11 45 67 89 91
Demo नामक एक क्लास में rotate_left नामक एक फंक्शन होता है। ऐरे, और वह मात्रा जिससे ऐरे को घुमाया जाना है, फंक्शन को पैरामीटर के रूप में पास किया जाता है। ऐरे की लंबाई को भी दूसरे वेरिएबल को असाइन किया जाता है। array_reversal नामक एक अन्य फंक्शन परिभाषित किया जाता है जो ऐरे, शुरुआत इंडेक्स और अंतिम इंडेक्स मान लेता है।
यदि शुरुआती इंडेक्स अंतिम इंडेक्स से कम है, तो एक temp वेरिएबल परिभाषित किया जाता है और तत्वों को स्वैप किया जाता है। शुरुआती इंडेक्स बढ़ाया जाता है और अंतिम इंडेक्स घटाया जाता है। मुख्य फंक्शन का उपयोग एक ऐरे को परिभाषित करने और इस ऐरे पर rotate_left फंक्शन को कॉल करने के लिए किया जाता है।