इस लेख में, हम समझेंगे कि स्टैक का उपयोग करके स्ट्रिंग को कैसे रिवर्स किया जाता है। स्ट्रिंग एक डेटा टाइप है जिसमें एक या अधिक कैरेक्टर होते हैं और यह डबल कोट्स (" ") में बंद होता है। स्टैक एक लीनियर डेटा स्ट्रक्चर है जिसका उपयोग ऑब्जेक्ट्स के संग्रह को स्टोर करने के लिए किया जाता है। यह लास्ट-इन-फर्स्ट-आउट (LIFO) सिद्धांत पर आधारित है।
उदाहरण
मान लीजिए हमारा इनपुट है:
Input string: Java Program
वांछित आउटपुट होगा:
Reversed string: margorP avaJ
एल्गोरिदम
चरण 1 - शुरू करें चरण 2 - दो स्ट्रिंग वेरिएबल घोषित करें: input_string और result, एक स्टैक वेरिएबल: stack, और एक कैरेक्टर वेरिएबल: reverse चरण 3 - मान परिभाषित करें चरण 4 - फॉर-लूप का उपयोग करके स्ट्रिंग के प्रत्येक कैरेक्टर पर पुनरावृति करें और 'push' कीवर्ड का उपयोग करके प्रत्येक कैरेक्टर को स्टैक में पुश करें चरण 5 - अब, 'pop' कीवर्ड का उपयोग करके स्टैक में प्रत्येक एलिमेंट को पॉप करें और इसे result स्ट्रिंग में असाइन करें चरण 6 - परिणाम प्रदर्शित करें चरण 7 - रुकें
उदाहरण 1: मेन फंक्शन में सभी ऑपरेशन
यहां, हम सभी ऑपरेशन्स को 'main' फंक्शन के अंतर्गत बांधते हैं।
import java.util.*;
public class ReverseString {
public static void main(String[] args) {
System.out.println("आवश्यक पैकेज इम्पोर्ट किए गए हैं");
String input_string = "Java Program";
System.out.println("स्ट्रिंग परिभाषित है: " + input_string);
char[] reverse = new char[input_string.length()];
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < input_string.length(); i++) {
stack.push(input_string.charAt(i));
}
int i = 0;
while (!stack.isEmpty()) {
reverse[i++] = stack.pop();
}
String result = new String(reverse);
System.out.println("\nरिवर्स्ड स्ट्रिंग है: " + result);
}
}
आउटपुट
आवश्यक पैकेज इम्पोर्ट किए गए हैं स्ट्रिंग परिभाषित है: Java Program रिवर्स्ड स्ट्रिंग है: margorP avaJ
उदाहरण 2: ऑब्जेक्ट-ओरिएंटेड दृष्टिकोण
यहां, हम ऑपरेशन्स को फंक्शन्स में एनकैप्सुलेट करते हैं जो ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग को दर्शाता है।
import java.util.*;
public class ReverseString {
public static String reverse_string(String input_string) {
char[] reverse = new char[input_string.length()];
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < input_string.length(); i++) {
stack.push(input_string.charAt(i));
}
int i = 0;
while (!stack.isEmpty()) {
reverse[i++] = stack.pop();
}
return new String(reverse);
}
public static void main(String[] args) {
System.out.println("आवश्यक पैकेज इम्पोर्ट किए गए हैं");
String input_string = "Java Program";
System.out.println("स्ट्रिंग परिभाषित है: " + input_string);
System.out.println("\nरिवर्स्ड स्ट्रिंग है: " + reverse_string(input_string));
}
}
आउटपुट
आवश्यक पैकेज इम्पोर्ट किए गए हैं स्ट्रिंग परिभाषित है: Java Program रिवर्स्ड स्ट्रिंग है: margorP avaJ