Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

जावा प्रोग्राम: स्टैक का उपयोग करके स्ट्रिंग को रिवर्स करना


इस लेख में, हम समझेंगे कि स्टैक का उपयोग करके स्ट्रिंग को कैसे रिवर्स किया जाता है। स्ट्रिंग एक डेटा टाइप है जिसमें एक या अधिक कैरेक्टर होते हैं और यह डबल कोट्स (" ") में बंद होता है। स्टैक एक लीनियर डेटा स्ट्रक्चर है जिसका उपयोग ऑब्जेक्ट्स के संग्रह को स्टोर करने के लिए किया जाता है। यह लास्ट-इन-फर्स्ट-आउट (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

  1. - रिकर्सन के बिना स्ट्रिंग को रिवर्स करने के लिए Python प्रोग्राम

    जब रिकर्सन तकनीक का उपयोग किए बिना स्ट्रिंग को रिवर्स करने की आवश्यकता होती है, तो सिंपल नेगेटिव इंडेक्सिंग का उपयोग किया जा सकता है।इंडेक्सिंग वैल्यूज़ को विशिष्ट इंडेक्स पर एलिमेंट्स एक्सेस करने में मदद करती है।उदाहरणइसके लिए एक प्रदर्शन नीचे दिया गया है:my_string = str(input(Enter a string that n

  1. - रिकर्सन का उपयोग करके स्ट्रिंग को रिवर्स करने के लिए Python प्रोग्राम

    जब रिकर्सन तकनीक का उपयोग करके स्ट्रिंग को रिवर्स करने की आवश्यकता होती है, तो रिकर्सन के साथ एक यूज़र-डिफाइंड मेथड का उपयोग किया जाता है।रिकर्सन बड़ी समस्या के छोटे-छोटे टुकड़ों का आउटपुट कंप्यूट करता है, और इन टुकड़ों को बड़ी समस्या का समाधान देने के लिए जोड़ता है।उदाहरणइसके लिए एक प्रदर्शन नीचे द

  1. - Java में String रिवर्सल में महारत: सरल, कुशल तकनीकें

    स्ट्रिंग को रिवर्स करना Java तकनीकी साक्षात्कार में सबसे अधिक पूछे जाने वाले प्रश्नों में से एक है। साक्षात्कारकर्ता आपसे स्ट्रिंग को रिवर्स करने के विभिन्न तरीके लिखने के लिए कह सकते हैं, या वे आपसे इन-बिल्ट विधियों का उपयोग किए बिना स्ट्रिंग को रिवर्स करने के लिए कह सकते हैं, या वे आपसे रिकर्सन का