जावास्क्रिप्ट में एक साधारण स्टैक क्लास पर विचार करें।
उदाहरण
क्लास स्टैक {कन्स्ट्रक्टर (अधिकतम आकार) {// डिफ़ॉल्ट अधिकतम आकार सेट करें यदि प्रदान नहीं किया गया है (isNaN (maxSize)) {maxSize =10; } यह। अधिकतम आकार =अधिकतम आकार; // एक सरणी शुरू करें जिसमें स्टैक मान होंगे। यह कंटेनर =[]; } // जब हम इस क्लास डिस्प्ले () { कंसोल.लॉग (this.container) को विकसित करते हैं तो सामग्री को देखने के लिए एक विधि; } // जाँच कर रहा है कि क्या सरणी खाली है isEmpty () { इसे लौटाएँ। कंटेनर। लंबाई ===0; } // जांचें कि क्या सरणी पूर्ण है () {इसे लौटाएं। कंटेनर। लंबाई> =अधिकतम आकार; } पुश (तत्व) {// जांचें कि क्या स्टैक भरा हुआ है अगर (this.isFull ()) {कंसोल.लॉग ("स्टैक ओवरफ्लो!"); वापसी; } यह.कंटेनर.पुश(तत्व); } पॉप () {// चेक करें कि क्या खाली है अगर (this.isEmpty ()) { कंसोल.लॉग ("स्टैक अंडरफ्लो!"); वापसी; } यह.कंटेनर.पॉप (); }}पूर्व>यहाँ पूर्ण है फ़ंक्शन केवल यह जांचता है कि कंटेनर की लंबाई अधिकतम आकार के बराबर या उससे अधिक है और तदनुसार वापस आती है। खाली है फ़ंक्शन जाँचता है कि कंटेनर का आकार 0 है या नहीं। पुश और पॉप फ़ंक्शंस का उपयोग क्रमशः स्टैक से नए तत्वों को जोड़ने और निकालने के लिए किया जाता है।
इस खंड में, हम इस वर्ग में PEEK ऑपरेशन जोड़ने जा रहे हैं। स्टैक को देखने का अर्थ है सरणी का शीर्ष मान प्राप्त करना। इसलिए हम पीक फ़ंक्शन को निम्नानुसार कार्यान्वित कर सकते हैं -
पीक() { अगर (isEmpty ()) { कंसोल.लॉग ("स्टैक अंडरफ्लो!"); वापसी; } इसे लौटाएं.कंटेनर[this.container.length - 1];}-
. का उपयोग करके आप जांच सकते हैं कि यह फ़ंक्शन ठीक काम कर रहा है या नहींउदाहरण
चलो s =नया स्टैक(2);s.peek();s.push(10);console.log(s.peek());आउटपुट
यह आउटपुट देगा -
स्टैक अंडरफ्लो!10