कतार फर्स्ट इन फर्स्ट आउट डेटा संरचना है। ग्राफ ट्रैवर्सल एल्गोरिदम के लिए विभिन्न क्षेत्रों में कतार का उपयोग किया जाता है, चौड़ाई पहली खोज आदि। कतार में कुछ आदिम संचालन होते हैं। यहां हम कतार के उन कार्यों को देखेंगे, और कतार ADT का उपयोग करके एक उदाहरण देखेंगे।
एडीटी (अमूर्त डेटाटाइप) विशेष प्रकार का डेटाटाइप है, जिसका व्यवहार मूल्यों के एक सेट और संचालन के सेट द्वारा परिभाषित किया जाता है। कीवर्ड "एब्सट्रैक्ट" का उपयोग किया जाता है क्योंकि हम इन डेटाटाइप्स का उपयोग कर सकते हैं, हम विभिन्न ऑपरेशन कर सकते हैं। लेकिन वे ऑपरेशन कैसे काम कर रहे हैं जो यूजर से पूरी तरह छुपा हुआ है। ADT आदिम डेटाटाइप से बना है, लेकिन ऑपरेशन लॉजिक्स छिपे हुए हैं।
ये क्यू एडीटी के कुछ संचालन या कार्य हैं।
- isFull(), इसका उपयोग यह जांचने के लिए किया जाता है कि कतार भरी हुई है या नहीं
- isEmpry(), इसका उपयोग यह जांचने के लिए किया जाता है कि कतार खाली है या नहीं
- एनक्यू (x), इसका उपयोग कतार के अंत में x को पुश करने के लिए किया जाता है
- delete(), इसका उपयोग सामने के छोर से एक तत्व को हटाने के लिए किया जाता है
- front(), इसका उपयोग कतार के सबसे सामने वाले तत्व को प्राप्त करने के लिए किया जाता है
- आकार (), इस फ़ंक्शन का उपयोग कतार में मौजूद तत्वों की संख्या प्राप्त करने के लिए किया जाता है
उदाहरण
#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;
}
//insert elements into queue
que.push(10);
que.push(20);
que.push(30);
que.push(40);
que.push(50);
cout << "Size of the queue: " << que.size() << endl;
//delete and dispay elements
while(!que.empty()) {
int item = que.front(); // read element from first position
que.pop();
cout << item << " ";
}
} आउटपुट
Queue is empty Size of the queue: 5 10 20 30 40 50