Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन प्रोग्राम: लिंक्ड लिस्ट का उपयोग करके स्टैक इम्प्लीमेंट करना


जब लिंक्ड लिस्ट का उपयोग करके स्टैक डेटा स्ट्रक्चर इम्प्लीमेंट करना होता है, तो लिंक्ड लिस्ट में एलिमेंट्स जोड़ने (पुश ऑपरेशन) और लिंक्ड लिस्ट के एलिमेंट्स डिलीट करने (पॉप ऑपरेशन) के लिए मेथड्स डिफाइन की जाती हैं।

उदाहरण

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None

class Stack_structure:
    def __init__(self):
        self.head = None

    def push_val(self, data):
        if self.head is None:
            self.head = Node(data)
        else:
            newNode = Node(data)
            newNode.next = self.head
            self.head = newNode

    def pop_val(self):
        if self.head is None:
            return None
        else:
            del_Val = self.head.data
            self.head = self.head.next
            return del_Val

my_instance = Stack_structure()
while True:
    print('push ')
    print('pop')
    print('quit')
    my_input = input('आप कौन सा एक्शन करना चाहेंगे? ').split()
    operation = my_input[0].strip().lower()
    if operation == 'push':
        my_instance.push_val(int(my_input[1]))
    elif operation == 'pop':
        del_Val = my_instance.pop_val()
        if del_Val is None:
            print('स्टैक खाली है।')
        else:
            print('डिलीट की गई वैल्यू है: ', int(del_Val))
    elif operation == 'quit':
        break

आउटपुट

push 
pop
quit
आप कौन सा एक्शन करना चाहेंगे? push 56
push 
pop
quit
आप कौन सा एक्शन करना चाहेंगे? push 78
push 
pop
quit
आप कौन सा एक्शन करना चाहेंगे? push 90
push 
pop
quit
आप कौन सा एक्शन करना चाहेंगे? pop
डिलीट की गई वैल्यू है: 90
push 
pop
quit
आप कौन सा एक्शन करना चाहेंगे? quit

व्याख्या

  • 'Node' क्लास बनाई गई है।

  • आवश्यक एट्रिब्यूट्स के साथ 'Stack_structure' क्लास बनाई गई है।

  • इसमें एक 'init' फंक्शन है जो पहले एलिमेंट यानी 'head' को 'None' से इनिशियलाइज़ करता है।

  • 'push_val' नामक एक मेथड डिफाइन की गई है, जो स्टैक में वैल्यू जोड़ने में मदद करती है।

  • 'pop_val' नामक एक अन्य मेथड डिफाइन की गई है, जो स्टैक के टॉप से वैल्यू डिलीट करने और डिलीट की गई वैल्यू रिटर्न करने में मदद करती है।

  • 'Stack_structure' का एक इंस्टेंस बनाया गया है।

  • तीन विकल्प दिए गए हैं, जैसे 'push', 'pop', और 'quit'।

  • 'push' विकल्प स्टैक में एक विशिष्ट वैल्यू जोड़ता है।

  • 'pop' विकल्प स्टैक से टॉपमोस्ट एलिमेंट डिलीट करता है।

  • 'quit' विकल्प लूप से बाहर निकलता है।

  • यूज़र के इनपुट/चॉइस के आधार पर, संबंधित ऑपरेशन किए जाते हैं।

  • यह आउटपुट कंसोल पर डिस्प्ले किया जाता है।


  1. - पायथन प्रोग्राम: डबल लिंक्ड लिस्ट में एलिमेंट खोजें

    जब डबल लिंक्ड लिस्ट में किसी एलिमेंट को खोजने की आवश्यकता होती है, तो एक Node क्लास बनाने की आवश्यकता होती है। इस क्लास में तीन एट्रिब्यूट्स होते हैं, नोड में मौजूद डेटा, लिंक्ड लिस्ट के अगले नोड तक पहुंच, और लिंक्ड लिस्ट के पिछले नोड तक पहुंच।एक और क्लास बनाने की आवश्यकता होती है जिसमें एक इनिशियला

  1. - पायथन प्रोग्राम: डबल लिंक्ड लिस्ट को N नोड्स द्वारा घुमाएं

    जब डबल लिंक्ड लिस्ट को नोड्स की एक विशिष्ट संख्या द्वारा घुमाने की आवश्यकता होती है, तो एक Node क्लास बनाने की आवश्यकता होती है। इस क्लास में तीन एट्रिब्यूट्स होते हैं, नोड में मौजूद डेटा, लिंक्ड लिस्ट के अगले नोड तक पहुंच, और लिंक्ड लिस्ट के पिछले नोड तक पहुंच।उदाहरण= self.size): return

  1. - पायथन प्रोग्राम: सर्कुलर लिंक्ड लिस्ट में एलिमेंट सर्च करना

    सर्कुलर लिंक्ड लिस्ट में किसी एलिमेंट को सर्च करने के लिए, हमें एक Node क्लास बनाने की आवश्यकता होती है। इस क्लास में दो एट्रिब्यूट्स होते हैं: नोड में मौजूद डेटा और लिंक्ड लिस्ट के अगले नोड का एक्सेस। सर्कुलर लिंक्ड लिस्ट की संरचना सर्कुलर लिंक्ड लिस्ट में, हेड (head) और रियर (rear) एक-दूसरे से जु