Dequeue या Double Ended Queue Queue डेटा संरचना का एक सामान्यीकृत संस्करण है जो दोनों सिरों पर डालने और हटाने की अनुमति देता है।
dequeue के कुछ बुनियादी संचालन हैं -
insert_at_beg() : Dequeue के सामने एक आइटम सम्मिलित करता है।
insert_at_end() : Dequeue के पीछे एक आइटम सम्मिलित करता है।
delete_fr_beg() : Dequeue के सामने से कोई आइटम हटाता है।
delete_fr_rear() : Dequeue के पीछे से कोई आइटम हटाता है।
Dequeue को लागू करने के लिए C++ प्रोग्राम निम्नलिखित है
एल्गोरिदम
फ्रंट एफ और रियर आर और निम्नलिखित कार्यों को घोषित करने के लिए एक क्लास डेक्यू घोषित करना शुरू करें:फ़ंक्शन insert_at_beg(int) सामने आइटम सम्मिलित करने के लिए:यदि कतार पूरी तरह से नहीं भरी गई है, तो सामने तत्व डालें और आगे और पीछे अपडेट करें अन्यथा प्रिंट करें अतिप्रवाह। फ़ंक्शन insert_at_end(int) पीछे की ओर आइटम सम्मिलित करने के लिए:यदि कतार पूरी तरह से नहीं भरी गई है, तो पीछे की ओर तत्व डालें और आगे और पीछे अपडेट करें अन्यथा प्रिंट ओवरफ़्लो। फ़ंक्शन delete_fr_beg() सामने से आइटम को हटाने के लिए:यदि कतार खाली है, तो अंडरफ्लो प्रिंट करें अन्यथा सामने वाले तत्व को हटा दें और फ्रंट को अपडेट करें। आइटम को अंत से हटाने के लिए फ़ंक्शन delete_fr_end():यदि कतार खाली है, तो अंडरफ्लो प्रिंट करें अन्यथा पीछे के तत्व को हटा दें और पीछे अपडेट करें। अंत
उदाहरण कोड
#शामिल करेंनेमस्पेस एसटीडी का उपयोग करना;#डिफाइन SIZE 10class dequeue { int a[20],f,r; सार्वजनिक:dequeue (); शून्य insert_at_beg (int); शून्य insert_at_end (int); शून्य delete_fr_front (); शून्य delete_fr_rear (); शून्य शो ();}; dequeue ::dequeue () { f =-1; r=-1;}void dequeue::insert_at_end(int i) { if(r>=SIZE-1) { cout<<"\n इंसर्शन संभव नहीं है, ओवरफ्लो!!!!"; } और { अगर (एफ ==-1) { एफ ++; आर++; } और {आर =आर + 1; } ए [आर] =मैं; cout<<"\nसम्मिलित आइटम है"<>सी; स्विच (सी) {केस 1:cout<<"सम्मिलित किए जाने वाले तत्व को दर्ज करें"; सिनेमा>> मैं; d.insert_at_beg(i); टूटना; केस 2:cout<<"सम्मिलित किए जाने वाले तत्व को दर्ज करें"; सिनेमा>> मैं; d.insert_at_end(i); टूटना; केस 3:डी.शो (); टूटना; केस 4:d.delete_fr_front (); टूटना; केस 5:d.delete_fr_rear (); टूटना; केस 6:बाहर निकलें(1); टूटना; डिफ़ॉल्ट:cout<<"अमान्य विकल्प"; टूटना; } } जबकि(c!=7);}
आउटपुट
1.शुरुआत में डालें2.अंत में डालें3.शो4.सामने से हटाना5.रियर से हटाना6.बाहर से अपनी पसंद दर्ज करें:4हटाना संभव नहीं है::डेक्यू खाली है1.शुरुआत में डालें2.अंत में डालें3.शो4.सामने से हटाना5 .rear6.exitenter से आपकी पसंद:5डिलीशन संभव नहीं है::dequeue खाली है1.शुरुआत में डालें2.अंत में डालें3.शो4.फ्रंट से हटाएं5.rear6 से हटाएं।अपनी पसंद दर्ज करें:1सम्मिलित किए जाने वाले तत्व को दर्ज करें7सम्मिलित तत्व है:71.शुरुआत में डालें2.अंत में डालें3.शो4.सामने से हटाना5.रियर से हटाना6.अपनी पसंद से बाहर निकलें:1सम्मिलित किए जाने वाले तत्व को दर्ज करें6सम्मिलन संभव नहीं है, अतिप्रवाह!!!1.शुरुआत में डालें2.अंत में डालें3.शो4। सामने से हटाना5.रियर से हटाना6.अपनी पसंद दर्ज करें:1सम्मिलित किए जाने वाले तत्व को दर्ज करें4सम्मिलन संभव नहीं है, अतिप्रवाह!!!1.शुरुआत में डालें2.अंत में डालें3.शो4.सामने से5.हटाना रियर6.बाहर से अपनी पसंद दर्ज करें:2सम्मिलित किए जाने वाले तत्व को दर्ज करें6सम्मिलित आइटम is61.शुरुआत में डालें ning2.अंत में डालें3.शो4.सामने से हटाना5.रियर से हटाना6.अपनी पसंद से बाहर निकलें:2सम्मिलित किए जाने वाले तत्व दर्ज करें4सम्मिलित आइटम is41.शुरुआत में डालें2.अंत में डालें3.शो4.सामने से हटाएं5.रियर से हटाएं6.अपनी पसंद दर्ज करें :37 6 41.शुरुआत में डालें2.अंत में डालें3.शो4.सामने से हटाना5.रियर से हटाना6.बाहर से अपनी पसंद दर्ज करें:4हटाए गए तत्व है:71.शुरुआत में डालें2.अंत में डालें3.शो4.फ्रंट से हटाएं5.हटाएं रियर6.अपनी पसंद दर्ज करें:5हटाया गया तत्व है:41.शुरुआत में डालें2.अंत में डालें3.शो4.सामने से हटाना5.रियर से हटाना6.अपनी पसंद से बाहर निकलें:1सम्मिलित करने के लिए तत्व दर्ज करें7सम्मिलित तत्व है:71.शुरुआत में डालें2. अंत में डालें3.शो4.सामने से हटाना