JavaScript में कुछ छोटे हेल्पर फ़ंक्शन्स के साथ निम्न स्टैक क्लास पर विचार करें।
उदाहरण
class Stack { 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 >= maxSize; } }
यहां isFull फ़ंक्शन बस जांचता है कि कंटेनर की लंबाई maxSize के बराबर या अधिक है या नहीं और तदनुसार लौटाता है। isEmpty फ़ंक्शन जांचता है कि कंटेनर का आकार 0 है या नहीं।
इस खंड में, हम इस क्लास में PUSH ऑपरेशन जोड़ने जा रहे हैं। स्टैक पर एलिमेंट्स पुश करने का अर्थ है उन्हें एरे के शीर्ष पर जोड़ना। हम कंटेनर एरे के अंत को एरे का शीर्ष मान रहे हैं क्योंकि हम इसके संबंध में सभी ऑपरेशन्स करेंगे। इसलिए हम पुश फ़ंक्शन को इस प्रकार लागू कर सकते हैं:
उदाहरण
push(element) { // जांचें कि स्टैक भरा हुआ है या नहीं if (this.isFull()) { console.log("Stack Overflow!"); return; } this.container.push(element); }
आप जांच सकते हैं कि यह फ़ंक्शन ठीक काम कर रहा है या नहीं:
उदाहरण
let s = new Stack(2); s.display(); s.push(10); s.push(20); s.push(30); s.display();
आउटपुट
यह आउटपुट देगा:
[] Stack Overflow! [ 10, 20 ]