Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में व्यंजक में संतुलित कोष्ठकों की जाँच करें

मान लीजिए कि हमारे पास एक अभिव्यक्ति है। व्यंजक के कुछ कोष्ठक हैं; हमें यह जांचना है कि कोष्ठक संतुलित हैं या नहीं। कोष्ठकों का क्रम (), {} और [] है। मान लीजिए कि दो तार हैं। "()[(){()}]" यह मान्य है, लेकिन "{[}]" अमान्य है।

कार्य सरल है; हम ऐसा करने के लिए स्टैक का उपयोग करेंगे। समाधान पाने के लिए हमें इन चरणों का पालन करना चाहिए -

  • व्यंजक को तब तक पार करें जब तक वह समाप्त न हो जाए
    • यदि वर्तमान वर्ण ब्रैकेट खोल रहा है जैसे (, { या [, तो स्टैक में पुश करें
    • यदि वर्तमान वर्ण ब्रैकेट बंद कर रहा है जैसे ), } या ], तो स्टैक से पॉप करें, और जांचें कि क्या पॉप किया गया ब्रैकेट वर्तमान वर्ण का संबंधित प्रारंभिक ब्रैकेट है, तो यह ठीक है, अन्यथा वह संतुलित नहीं है।
    • ली>
  • स्ट्रिंग समाप्त होने के बाद, यदि स्टैक में कुछ शुरुआती ब्रैकेट बचे हैं, तो स्ट्रिंग संतुलित नहीं है।

उदाहरण

#include <iostream>
#include <stack>
using namespace std;
bool isBalancedExp(string exp) {
   stack<char> stk;
   char x;
   for (int i=0; i<exp.length(); i++) {
      if (exp[i]=='('||exp[i]=='['||exp[i]=='{') {
         stk.push(exp[i]);
         continue;
      }
      if (stk.empty())
         return false;
      switch (exp[i]) {
      case ')':
         x = stk.top();
         stk.pop();
         if (x=='{' || x=='[')
            return false;
         break;
      case '}':
         x = stk.top();
         stk.pop();
         if (x=='(' || x=='[')
            return false;
         break;
      case ']':
         x = stk.top();
         stk.pop();
         if (x =='(' || x == '{')
            return false;
         break;
      }
   }
   return (stk.empty());
}
int main() {
   string expresion = "()[(){()}]";
   if (isBalancedExp(expresion))
      cout << "This is Balanced Expression";
   else
      cout << "This is Not Balanced Expression";
}

आउटपुट

This is Balanced Expression

  1. सी++ प्रोग्राम स्टैक्स का उपयोग करके संतुलित पैराथेसिस की जांच करने के लिए

    यहां हम चर्चा करेंगे कि स्टैक का उपयोग करके संतुलित कोष्ठकों की जांच कैसे करें। हम न केवल खुलने और बंद होने वाले कोष्ठकों की जाँच करते हैं बल्कि कोष्ठकों के क्रम की भी जाँच करते हैं। उदाहरण के लिए हम कह सकते हैं कि अभिव्यक्ति [{} () {()}] यह सही है, लेकिन {[}] यह सही नहीं है। Input: Some expression

  1. एक व्यंजक में संतुलित कोष्ठकों की जाँच करें O(1) अंतरिक्ष O(N^2) पायथन में समय जटिलता

    मान लीजिए कि हमारे पास एक स्ट्रिंग स्ट्रिंग है जिसमें ये कोष्ठक (, ), {, }, [ और ] हैं, तो हमें यह जांचना होगा कि कोष्ठक संतुलित हैं या नहीं। हम कह सकते हैं कि ब्रैकेट संतुलित होते हैं जब ब्रैकेट प्रकार खोलना और बंद करना एक ही प्रकार का होता है। कोष्ठक सही क्रम में बंद हैं। इसलिए, अगर इनपुट {([])}

  1. पायथन में संतुलित कोष्ठक की जाँच करें

    कई बार हमें यह पता लगाने की आवश्यकता होती है कि क्या कोई व्यंजक उसमें मौजूद कोष्ठकों के संबंध में संतुलित है। संतुलित से हमारा मतलब है कि प्रत्येक बाएँ कोष्ठक के लिए एक संगत दायाँ कोष्ठक होता है और कोष्ठकों का क्रम ठीक से व्यवस्थित होता है। एक प्रोग्राम या गणितीय अभिव्यक्ति लिखने में इसका महत्व है ज