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

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


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

उदाहरण

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

class Queue_structure:
    def __init__(self):
        self.head = None
        self.last = None

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

    def dequeue_operation(self):
        if self.head is None:
            return None
        else:
            val_returned = self.head.data
            self.head = self.head.next
            return val_returned

my_instance = Queue_structure()
while True:
    print('enqueue ')
    print('dequeue')
    print('quit')
    my_input = input('आप कौन सा ऑपरेशन करना चाहेंगे? ').split()
    operation = my_input[0].strip().lower()
    if operation == 'enqueue':
        my_instance.enqueue_operation(int(my_input[1]))
    elif operation == 'dequeue':
        dequeued = my_instance.dequeue_operation()
        if dequeued is None:
            print('क्यू खाली है।')
        else:
            print('डिलीट किया गया एलिमेंट है: ', int(dequeued))
    elif operation == 'quit':
        break

आउटपुट

enqueue 
dequeue
quit
आप कौन सा ऑपरेशन करना चाहेंगे? enqueue 45
enqueue 
dequeue
quit
आप कौन सा ऑपरेशन करना चाहेंगे? enqueue 12
enqueue 
dequeue
quit
आप कौन सा ऑपरेशन करना चाहेंगे? dequeue
डिलीट किया गया एलिमेंट है: 45
enqueue 
dequeue
quit
आप कौन सा ऑपरेशन करना चाहेंगे? quit

व्याख्या

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

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

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

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

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

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

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

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

  • 'dequeue' विकल्प क्यू से एलिमेंट डिलीट करता है।

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

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

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


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

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

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

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

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

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