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