क्यू फर्स्ट इन फर्स्ट आउट डेटा स्ट्रक्चर है। क्यू का उपयोग ग्राफ ट्रैवर्सल एल्गोरिदम ब्रेडथ फर्स्ट सर्च आदि के लिए विभिन्न क्षेत्रों में किया जाता है। क्यू के कुछ प्रिमिटिव ऑपरेशन्स हैं। यहां हम क्यू के उन ऑपरेशन्स को देखेंगे, और क्यू ADT का उपयोग करके एक उदाहरण देखेंगे।
ADT (एब्सट्रैक्ट डेटा टाइप) एक विशेष प्रकार का डेटा टाइप है, जिसका व्यवहार मानों के एक सेट और ऑपरेशन्स के एक सेट द्वारा परिभाषित किया जाता है। कीवर्ड "एब्सट्रैक्ट" का उपयोग इसलिए किया जाता है क्योंकि हम इन डेटा टाइप्स का उपयोग कर सकते हैं, हम विभिन्न ऑपरेशन्स कर सकते हैं। लेकिन वे ऑपरेशन्स कैसे काम करते हैं यह उपयोगकर्ता से पूरी तरह छिपा होता है। ADT प्रिमिटिव डेटा टाइप्स से बना होता है, लेकिन ऑपरेशन लॉजिक्स छिपे होते हैं।
ये क्यू ADT के कुछ ऑपरेशन्स या फ़ंक्शन हैं।
- isFull(), इसका उपयोग यह जांचने के लिए किया जाता है कि क्यू भरी है या नहीं
- isEmpty(), इसका उपयोग यह जांचने के लिए किया जाता है कि क्यू खाली है या नहीं
- enqueue(x), इसका उपयोग x को क्यू के अंत में पुश करने के लिए किया जाता है
- delete(), इसका उपयोग क्यू के फ्रंट एंड से एक एलिमेंट को डिलीट करने के लिए किया जाता है
- front(), इसका उपयोग क्यू के फ्रंट मोस्ट एलिमेंट को प्राप्त करने के लिए किया जाता है
- size(), इस फ़ंक्शन का उपयोग क्यू में मौजूद एलिमेंट्स की संख्या प्राप्त करने के लिए किया जाता है
उदाहरण
#include<iostream> #include<queue> using namespace std; main(){ queue<int> que; if(que.empty()){ cout << "Queue is empty" << endl; } else { cout << "Queue is not empty" << endl; } //क्यू में एलिमेंट्स इन्सर्ट करें que.push(10); que.push(20); que.push(30); que.push(40); que.push(50); cout << "Size of the queue: " << que.size() << endl; //डिलीट और एलिमेंट्स प्रदर्शित करें while(!que.empty()) { int item = que.front(); // पहली स्थिति से एलिमेंट पढ़ें que.pop(); cout << item << " "; } }आउटपुट
Queue is empty Size of the queue: 5 10 20 30 40 50