Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी/सी++ में प्राथमिकता कतार परिचय

एक प्राथमिकता कतार एक प्रकार की कतार है जिसमें तत्वों को उन्हें सौंपी गई प्राथमिकताओं के अनुसार डाला या हटा दिया जाता है जहां प्राथमिकता एक पूर्णांक मान है जो 0-10 के बीच हो सकता है जहां 0 तत्व को सर्वोच्च प्राथमिकता के साथ दिखाता है और 10 तत्व को दिखाता है सबसे कम प्राथमिकता। प्राथमिकता कतार को लागू करने के लिए दो नियमों का पालन किया जाता है -

  • उच्चतम प्राथमिकता वाले डेटा या तत्व को न्यूनतम प्राथमिकता वाले डेटा या तत्व से पहले निष्पादित किया जाएगा।
  • यदि दो तत्वों की प्राथमिकता समान है तो उन्हें सूची में जोड़े जाने के क्रम में निष्पादित किया जाएगा।

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

  • एक ही सरणी में अनेक प्राथमिकताओं के लिए कतार बनाए रखें

    प्राथमिकता कतार को लागू करने का एक तरीका प्रत्येक प्राथमिकता के लिए एक कतार बनाए रखना है। हम इन एकाधिक कतारों को एक ही सरणी में संग्रहीत कर सकते हैं, जहां प्रत्येक कतार में दो पॉइंटर्स होंगे यानी फ्रंट और रियर। कतार में, फ्रंट पॉइंटर का उपयोग कतार में तत्व डालने के लिए किया जाता है और जब भी तत्व डाला जाता है तो इसे 1 से बढ़ाया जाता है और दूसरा पॉइंटर पीछे होता है जिसका उपयोग कतार से तत्व को हटाने या हटाने के लिए किया जाता है जो कि जब भी तत्व 1 से घटाया जाता है कतार से हटा दिया जाता है। अंत में, दो बिंदुओं की स्थिति के माध्यम से हम कतार में तत्वों की संख्या भी निर्धारित कर सकते हैं।

सी/सी++ में प्राथमिकता कतार परिचय

  • इस प्रकार के प्रतिनिधित्व में, हमें नए तत्वों को सम्मिलित करने के लिए जगह बनाने के लिए पॉइंटर्स को स्थानांतरित करने की आवश्यकता है जो इसे समय और स्थान दोनों के मामले में जटिल बना देगा।
  • एक ही सरणी में प्रत्येक प्राथमिकता के लिए कतार बनाए रखें

    इस प्रकार की विधि में हम प्रत्येक तत्व के लिए अलग तीर बनाते हैं। प्रत्येक कतार को एक वृत्ताकार सरणी के रूप में कार्यान्वित किया जाता है और इसमें दो सूचक चर होते हैं। अगला और पिछला। प्राथमिकता संख्या वाला तत्व संबंधित कतार में डाला जाता है इसी तरह यदि हम कतार से किसी तत्व को हटाना चाहते हैं तो यह सर्वोच्च प्राथमिकता कतार से तत्व होना चाहिए। निम्नतम प्राथमिकता पूर्णांक सर्वोच्च प्राथमिकता(0) को इंगित करता है।

सी/सी++ में प्राथमिकता कतार परिचय

नोट - यदि प्रत्येक कतार का आकार समान है तो हम एक से अधिक एक-आयामी सरणी बनाने के बजाय एक एकल द्वि-आयामी सरणी बना सकते हैं।

प्राथमिकता कतार में सम्मिलित करें ऑपरेशन के लिए एल्गोरिदम

insert(queue, data, priority)
   If(queue->Rear[priority] = MAX-1 AND queue->Front[priority] = 0) OR (queue->Rear[priority] +1 =queue->Front[priority])
      Print Overflow
   End
   IF queue->Rear[priority - 1] = MAX-1
      Set queue->Rear[priority - 1] = 0
   Else
      Set queue->Rear[priority] = queue->Rear[priority - 1] +1
   End
      Set queue->CQueue[priority - 1] [queue->Rear[priority - 1] = data
   IF queue->Front[priority - 1] = -1
      Set queue->Front[priority - 1] = 0
End

प्राथमिकता कतार में सम्मिलित करें ऑपरेशन के लिए एल्गोरिदम

delete(queue)
   Set flag = 0, priority = 0
      While priority <= MAX-1
         IF NOT queue->Front[priority] = -1
            Set flag = 1
            Set value = queue->CQueue[priority][queue->Front[priority]]
            IF queue->Front[priority] = queue->Rear[priority]
               Set queue->Front[priority] = queue->Rear[priority] = -1
            Else
            IF queue->Front[priority] = MAX-1
               Set queue->Front[priority] = 0
            Else
               Set queue->Front[priority] = queue->Front[priority] + 1
            End
         End
      Break
   End
   Set priority = priority +
End
If flag = 0
   Print underflow
Else
   Return value
End

  1. putwchar () सी/सी ++ में समारोह

    इस लेख में हम C++ STL में putwchar() फंक्शन की कार्यप्रणाली, सिंटैक्स और उदाहरणों पर चर्चा करेंगे। पुटवचर () क्या है? putwchar() फ़ंक्शन C++ STL में एक इनबिल्ट फ़ंक्शन है, जिसे हेडर फ़ाइल में परिभाषित किया गया है। putwchar () फ़ंक्शन का उपयोग मानक आउटपुट डिवाइस पर विस्तृत वर्ण लिखने के लिए किया जा

  1. memcpy() सी/सी++ में

    इस लेख में हम C++ STL में memcpy() फंक्शन की कार्यप्रणाली, सिंटैक्स और उदाहरणों पर चर्चा करेंगे। memcpy() क्या है? memcpy() फ़ंक्शन C++ STL में एक इनबिल्ट फ़ंक्शन है, जिसे हेडर फ़ाइल में परिभाषित किया गया है। memcpy () फ़ंक्शन का उपयोग मेमोरी के ब्लॉक को कॉपी करने के लिए किया जाता है। इस फ़ंक्शन क

  1. सी/सी ++ में एए पेड़?

    कंप्यूटर विज्ञान में AA ट्री को संतुलित ट्री के रूप में परिभाषित किया गया है, जो ऑर्डर किए गए डेटा को कुशलतापूर्वक संग्रहीत करने और पुनर्प्राप्त करने के लिए लागू किया गया है। एए पेड़ों को लाल-काले पेड़ की विविधता के रूप में माना जाता है, बाइनरी सर्च ट्री का एक रूप जो प्रविष्टियों के कुशल जोड़ और विल