यद्यपि जावास्क्रिप्ट में Arrays एक Queue की सभी कार्यक्षमता प्रदान करता है, आइए हम अपने स्वयं के Queue क्लास को लागू करें। हमारी कक्षा में निम्नलिखित कार्य होंगे -
- एनक्यू (तत्व):कतार में एक तत्व जोड़ने का कार्य।
- dequeue ():फ़ंक्शन जो कतार से एक तत्व को हटा देता है।
- झांकना ():कतार के सामने से तत्व लौटाता है।
- isFull():जाँचता है कि क्या हम कतार में एलिमेंट सीमा तक पहुँच गए हैं।
- isEmpty():जांचता है कि कतार खाली है या नहीं।
- clear():सभी तत्वों को हटा दें।
- प्रदर्शन ():सरणी की सभी सामग्री प्रदर्शित करें
आइए एक कंस्ट्रक्टर के साथ एक साधारण वर्ग को परिभाषित करके शुरू करें जो कतार का अधिकतम आकार लेता है और एक सहायक फ़ंक्शन जो इस वर्ग के लिए अन्य कार्यों को लागू करते समय हमारी मदद करेगा। जैसे ही हमने स्टैक को लागू किया, हम Arrays का उपयोग करके भी क्यू को लागू करेंगे।
उदाहरण
कक्षा कतार {कन्स्ट्रक्टर (अधिकतम आकार) {// डिफ़ॉल्ट अधिकतम आकार सेट करें यदि प्रदान नहीं किया गया है (isNaN (maxSize)) {maxSize =10; } यह। अधिकतम आकार =अधिकतम आकार; // एक सरणी शुरू करें जिसमें कतार मान होंगे। यह कंटेनर =[]; ) } // जाँचता है कि क्या कतार खाली है खाली है () { इसे लौटाएँ। कंटेनर। लंबाई ===0; } // जांचता है कि क्या कतार भरी हुई है isFull() { इसे लौटाएं। कंटेनर। लंबाई> =यह। अधिकतम आकार; }}पूर्व>हमने 2 और फ़ंक्शन भी परिभाषित किए हैं, isFull और isEmpty यह जांचने के लिए कि क्या कतार भरी हुई है या खाली है।
isFull फ़ंक्शन केवल यह जांचता है कि कंटेनर की लंबाई maxSize के बराबर या उससे अधिक है या नहीं और उसी के अनुसार वापस आती है।
isEmpty फ़ंक्शन जांचता है कि कंटेनर का आकार 0 है या नहीं।
जब हम अन्य संक्रियाओं को परिभाषित करते हैं तो ये सहायक होंगे। इस बिंदु से हम जो कार्य परिभाषित करते हैं, वे सभी क्यू वर्ग के अंदर जाएंगे।