CodeGym/Java Blog/अनियमित/जावा स्टैक 101: स्टैक क्लास में खोज
John Squirrels
स्तर 41
San Francisco

जावा स्टैक 101: स्टैक क्लास में खोज

अनियमित ग्रुप में प्रकाशित
सदस्य
जावा में स्टैक एक डेटा संरचना है, जो कतार, सरणी, लिंक्ड सूची या पेड़ की तरह है जहां यह दूसरों से अलग है, वह यह है कि जावा स्टैक लास्ट इन, फर्स्ट आउट (एलआईएफओ) सिद्धांत पर आधारित है। इसका मतलब यह है कि जब आप स्टैक से किसी तत्व को जोड़ने और निकालने के लिए दो कमांड का उपयोग करते हैं, तो आपके द्वारा हटाया गया पहला हमेशा आपके द्वारा जोड़ा गया अंतिम होगा। आइए जावा स्टैक क्लास पर करीब से नज़र डालें

जावा स्टैक क्लास की खोज

जावा स्टैक क्लास वेक्टर वर्ग का एक विस्तार है , जो स्वयं सूची वर्ग का विस्तार करता है। क्योंकि वैक्टर परिवर्तनशील हैं और अंदर के तत्वों की मांगों के साथ बढ़ सकते हैं और सिकुड़ सकते हैं, स्टैक भी मांग पर आकार बदल सकते हैं। वेक्टर क्लास का विस्तार पांच ऑपरेशन जोड़ता है जो वेक्टर को स्टैक में बदल देता है । ये पांच ऑपरेशन हैं:
  • पुश (ई आइटम) - ढेर के शीर्ष पर एक तत्व रखता है
  • .pop () - स्टैक के शीर्ष पर स्थित तत्व को हटाता है और इसे फ़ंक्शन के मान के रूप में लौटाता है
  • .peek () - बिना हटाए स्टैक के शीर्ष पर स्थित तत्व को देखता है
  • .खाली () - बूलियन फ़ंक्शन यह जांचने के लिए कि स्टैक खाली है या नहीं। 0 या 1 लौटाता है।
  • .search (ऑब्जेक्ट ओ) - ओ के लिए दिखता है और इसकी स्थिति देता है। मान 1-आधारित है, 0-आधारित नहीं है
स्टैक उन सभी विधियों को भी इनहेरिट करता है जो वेक्टर का हिस्सा हैं, जिनमें toString() , contains() , indexOf() , और lastElement() शामिल हैं, लेकिन इन तक सीमित नहीं है । जावा स्टैक 101: स्टैक क्लास की गहराई में जाना - 1

जावा स्टैक उदाहरण कोडिंग

अब जब हम स्टैक के कार्यों को जानते हैं , तो चलिए एक जावा स्टैक उदाहरण को कोड करते हैं। डेटा को संभालने के लिए स्टैक बहुत उपयोगी होते हैं जिन्हें अस्थायी रूप से संग्रहीत किया जाना चाहिए और जल्दी से पुनर्प्राप्त किया जाना चाहिए। क्योंकि स्टैक LIFO है, यह ट्री डेटा संरचना की खोज करते समय नोड ट्रैवर्सल के लिए असाधारण रूप से उपयोगी है। इससे पहले कि हम इन सब में शामिल हों, चलिए एक मूल स्टैक बनाते हैं। स्टैक को लागू करने के लिए कोड इस प्रकार है:
import java.util.*;

class Main {
  public static void main(String[] args) {
    Stack<Integer> stackExample = new Stack<Integer>();
खाली स्टैक बनाने के लिए आपको बस इतना ही करना है । आप इसका उपयोग करके डेटा प्रकार घोषित किए बिना इसे केवल घोषित कर सकते हैं:
Stack example = new Stack();
याद रखें कि क्योंकि स्टैक म्यूटेबल हैं, जैसे ही हम तत्वों को स्टैक पर धकेलते हैं, यह स्वचालित रूप से आकार में समायोजित हो जाएगा। आइए देखें कि स्टैक फ़ंक्शन का उपयोग कैसे करें।

जावा स्टैक कार्यान्वयन

आइए देखें कि उन पांच विधियों का उपयोग कैसे करें जिन्हें हमने संक्षेप में पहले खोजा था। यदि आप इसे प्लेटों के ढेर के रूप में सोचते हैं तो जावा स्टैक कार्यान्वयन को याद रखना आसान है। आप ढेर पर प्लेटें लगाते हैं, लेकिन एक प्लेट पाने के लिए, आप नीचे नहीं जाते, आपको एक ऊपर से मिलती है। आप जो आखिरी डालते हैं, वही सबसे पहले आप उतारते हैं। StackExample के साथ हमारे पिछले उदाहरण का विस्तार करते हुए , कार्य इस प्रकार हैं:

धकेलना

// pushing integers onto the Stack
    stackExample.push(5);
    stackExample.push(10);
इस बिंदु पर, हम अन्य कार्यों को दिखाने जा रहे हैं जैसे कि हमने इन दो पूर्णांकों को हर बार जावा स्टैक उदाहरण पर धकेल दिया है।

जल्दी से आना

//popping integers off of the Stack
System.out.println(stackExample.pop());
System.out.println(stackExample.pop());
आउटपुट:
10
5

खाली है

अब, मान लें कि आप सभी तत्वों को स्टैक से हटाना चाहते हैं , लेकिन आप सुनिश्चित नहीं हैं कि कितने तत्व हैं। आप Boolean.isEmpty() फ़ंक्शन को स्टैक से सभी तत्वों को पॉप करने के लिए जबकि लूप को पूर्व शर्त के साथ जोड़ सकते हैं । देखें कि यह जावा स्टैक कार्यान्वयन कैसे किया जाता है।
while(!stackExample.isEmpty()) {
  System.out.println(stackExample.pop());
}
उत्पादन
10
5

तिरछी

हम .peek() को जावा में स्टैक कार्यान्वयन के रूप में उपयोग कर सकते हैं ताकि स्टैक पर अगले आइटम को बिना हटाए देखा जा सके।
System.out.println(stackExample.peek());
उत्पादन
10
यदि हम स्टैक को पॉप और प्रिंट करते हैं , तो यह 10 और 5 लौटाएगा क्योंकि 10 अभी भी स्टैक पर है। हमने बस इसे देखा, हमने इसे पॉप फंक्शन से नहीं हटाया। पीक फंक्शन जावा में स्टैक के लिए एक बेहतरीन टूल है।

खोज

यदि हम एक विशिष्ट तत्व खोजना चाहते हैं, तो जावा में स्टैक कार्यान्वयन .search(e); इसे खोजने के लिए।
System.out.println(stackExample.search(5));
उत्पादन
2
याद रखें कि ऐसा इसलिए है क्योंकि हम स्टैक के शीर्ष से गिनते हैं और जावा स्टैक 1 से शुरू होता है, न कि 0 जैसे ऐरे । तो, ढेर को देखते हुए, यह (10) --> (5) है, और 5 नंबर 2 स्थान पर है। यदि आप किसी ऐसे तत्व को खोजने का प्रयास करते हैं जो स्टैक में नहीं है , तो आपको आउटपुट के रूप में -1 मिलेगा।

बार-बार दोहराना

किसी भी संग्रह के साथ काम करते समय, ऐसे समय हो सकते हैं जब आपको कई तत्वों को देखने की आवश्यकता हो। जटिलता को बचाने और स्टैक के माध्यम से कई बार खोजने के लिए , आप पुनरावृत्ति का उपयोग कर सकते हैं। क्योंकि जावा में स्टैक सूची वर्ग का विस्तार करता है, पुनरावृत्ति के लिए कई विकल्प हैं। सबसे आसान में से एक केवल ListIterator फ़ंक्शन का उपयोग करना है। ListIterator अच्छा है क्योंकि यह आपको .hasPrevious() या .hasNext() का उपयोग करके स्टैक को ऊपर से नीचे या नीचे से ऊपर तक ले जाने देता है । यहाँ यह कैसा दिखता है:
ListIterator<Integer> exampleIterator = stackExample.listIterator(stackExample.size());

  while (exampleIterator.hasPrevious()) {
    int iteration = exampleIterator.previous();
    System.out.println(iteration);
  }
उत्पादन
10
5
ध्यान रखें कि जब आप जावा में स्टैक एस के माध्यम से पुनरावृति करते हैं, तो आप इसमें से किसी भी तत्व को नहीं हटाते हैं। इटरेटिंग अनिवार्य रूप से आपको स्टैक में प्रत्येक तत्व को क्रम में देखने की अनुमति देता है। जब आप ऐसा करते हैं, तो आप उन स्थानों की तलाश कर सकते हैं जहाँ कुछ तत्व हैं और फिर उनमें से होकर जाएँ और उनमें हेरफेर करें। जरूरत पड़ने पर आप उन्हें गिन सकते हैं, हटा सकते हैं या बदल भी सकते हैं।
टिप्पणियां
  • लोकप्रिय
  • नया
  • पुराना
टिप्पणी लिखने के लिए आपको साइन इन करना होगा
इस पेज पर अभी तक कोई टिप्पणियां नहीं हैं