हालांकि JavaScript में एरे क्यू की सभी कार्यक्षमता प्रदान करते हैं, आइए हम अपना खुद का क्यू क्लास लागू करें। हमारे क्लास में निम्न फ़ंक्शन्स होंगे:
enqueue(element): क्यू में एक एलिमेंट जोड़ने का फ़ंक्शन।dequeue(): क्यू से एक एलिमेंट हटाने का फ़ंक्शन।peek(): क्यू के फ्रंट से एलिमेंट लौटाता है।isFull(): जांचता है कि क्या हम क्यू पर एलिमेंट लिमिट पर पहुंच गए हैं।isEmpty(): जांचता है कि क्यू खाली है या नहीं।clear(): सभी एलिमेंट्स हटाता है।display(): एरे की सभी सामग्री प्रदर्शित करता है।
आइए एक साधारण क्लास को परिभाषित करके शुरू करें जिसमें एक कंस्ट्रक्टर हो जो क्यू का अधिकतम आकार लेता है और एक हेल्पर फ़ंक्शन हो जो इस क्लास के लिए अन्य फ़ंक्शन्स को लागू करते समय हमारी मदद करेगा। जैसा कि हमने स्टैक्स लागू किए, हम क्यू को भी एरे का उपयोग करके लागू करेंगे।
उदाहरण
class Queue { constructor(maxSize) { // यदि प्रदान नहीं किया गया तो डिफ़ॉल्ट अधिकतम आकार सेट करें if (isNaN(maxSize)) { maxSize = 10; } this.maxSize = maxSize; // एक एरे इनिशियलाइज़ करें जिसमें क्यू मान होंगे। this.container = []; } // विकसित करते समय सभी मानों को प्रदर्शित करने के लिए हेल्पर फ़ंक्शन display() { console.log(this.container); } // जांचें कि क्यू खाली है या नहीं isEmpty(){ return this.container.length === 0; } // जांचें कि क्यू भरा हुआ है या नहीं isFull() { return this.container.length >= this.maxSize; } }
हमने दो और फ़ंक्शन्स, isFull और isEmpty भी परिभाषित किए हैं ताकि यह जांचा जा सके कि क्यू भरा हुआ है या खाली।
isFull फ़ंक्शन बस जांचता है कि कंटेनर की लंबाई maxSize के बराबर या अधिक है या नहीं और तदनुसार लौटाता है।
isEmpty फ़ंक्शन जांचता है कि कंटेनर का आकार 0 है या नहीं।
ये अन्य ऑपरेशन्स को परिभाषित करते समय मददगार होंगे। इस बिंदु से आगे हम जो फ़ंक्शन्स परिभाषित करेंगे वे सभी क्यू क्लास के अंदर जाएंगे।