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