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

सी ++ में डेक्यू और प्राथमिकता कतार


जैसा कि हम जानते हैं कि क्यू डेटा संरचना फर्स्ट इन फर्स्ट आउट डेटा संरचना है। कतार में कुछ भिन्नताएँ भी हैं। ये Dequeue और प्राथमिकता कतार हैं।

Dequeue मूल रूप से डबल एंडेड कतार है। तो दो आगे और दो पीछे जोड़े हैं। एक जोड़ी फ्रंट और रियर पॉइंटर का उपयोग बाईं ओर से कतार का वर्णन करने के लिए किया जाता है, और दूसरे का उपयोग दाईं ओर से इसका वर्णन करने के लिए किया जाता है। हम इस संरचना में दोनों तरफ से तत्वों को सम्मिलित या हटा सकते हैं। यहां हम इसकी कार्यक्षमता को समझने के लिए dequeue STL का उपयोग करते हुए कुछ C++ कोड देखेंगे।

उदाहरण (Dequeue)

#include <iostream>
#include <deque>
using namespace std;
void dequeElements(deque <int> que) {
   deque <int> :: iterator it;
   for (it = que.begin(); it != que.end(); ++it)
      cout << *it << " ";
   cout <<endl;
}
int main() {
   deque <int> que;
   que.push_back(10);
   que.push_front(20);
   que.push_back(30);
   que.push_front(15);
   cout << "Currently que is holding : ";
   dequeElements(que);
   cout <<"Size of dequeue : " <<que.size() << endl;
   cout << "Element at position 2 : " << que.at(2) << endl;
   cout << "Element at front position : " << que.front() << endl;
   cout << "Element at back position : " << que.back() << endl;
   cout << "Delete from front side : ";
   que.pop_front();
   dequeElements(que);
   cout << "Delete from back side : ";
   que.pop_back();
   dequeElements(que);
}

आउटपुट

Currently que is holding : 15 20 10 30
Size of dequeue : 4
Element at position 2 : 10
Element at front position : 15
Element at back position : 30
Delete from front side : 20 10 30
Delete from back side : 20 10

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

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

उदाहरण (प्राथमिकता कतार)

#include <iostream>
#include <queue>
using namespace std;
void dequeElements(priority_queue <int> que) {
   priority_queue <int> q = que;
   while(!q.empty()){
      cout << q.top() << " ";
      q.pop();
   }
   cout << endl;
}
int main() {
   priority_queue <int> que;
   que.push(10);
   que.push(20);
   que.push(30);
   que.push(5);
   que.push(1);
   cout << "Currently que is holding : ";
   dequeElements(que);
   cout << "Size of queue : " <<que.size() << endl;
   cout << "Element at top position : " << que.top() << endl;
   cout << "Delete from queue : ";
   que.pop();
   dequeElements(que);
   cout << "Delete from queue : ";
   que.pop();
   dequeElements(que);
}

आउटपुट

Currently que is holding : 30 20 10 5 1
Size of queue : 5
Element at top position : 30
Delete from queue : 20 10 5 1
Delete from queue : 10 5 1

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

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

  1. सी ++ मानक टेम्पलेट लाइब्रेरी (एसटीएल) में प्राथमिकता कतार

    प्राथमिकता कतार प्राथमिकता वाले तत्वों के संग्रह को संग्रहीत करने के लिए एक सार डेटा प्रकार है जो किसी तत्व को उनकी प्राथमिकताओं के आधार पर सम्मिलित करने और हटाने का समर्थन करता है, अर्थात, पहली प्राथमिकता वाले तत्व को किसी भी समय हटाया जा सकता है। प्राथमिकता कतार तत्वों को उनके स्थान जैसे स्टैक, कत

  1. सी ++ में डबल लिंक्ड सूची का उपयोग कर प्राथमिकता कतार

    हमें डेटा और प्राथमिकता एक पूर्णांक मान के रूप में दी जाती है और कार्य दी गई प्राथमिकता के अनुसार एक डबल लिंक्ड सूची बनाना और परिणाम प्रदर्शित करना है। Queue एक FIFO डेटा संरचना है जिसमें जो तत्व पहले डाला जाता है वह सबसे पहले निकाला जाता है। प्राथमिकता कतार एक प्रकार की कतार है जिसमें प्राथमिकता क