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

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


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

उदाहरण

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

class DoubleList:
    def __init__(self):
        self.head = None
        self.tail = None
        self.size = 0
    def add_data(self, my_data):
        new_node = Node(my_data)
        if(self.head == None):
            self.head = self.tail = new_node
            self.head.previous = None
            self.tail.next = None
        else:
            self.tail.next = new_node
            new_node.previous = self.tail
            self.tail = new_node
            self.tail.next = None
            self.size = self.size + 1
    def print_it(self):
        curr = self.head
        if (self.head == None):
            print("सूची खाली है")
            return
        print("डबल लिंक्ड लिस्ट में नोड्स हैं:")
        while curr != None:
            print(curr.data)
            curr = curr.next
    def add_data_in_middle(self, my_data):
        new_node = Node(my_data)
        if(self.head == None):
            self.head = self.tail = new_node
            self.head.previous = None
            self.tail.next = None
        else:
            curr = self.head
            mid = (self.size // 2) if (self.size % 2 == 0) else ((self.size + 1) // 2)
            for i in range(1, mid):
                curr = curr.next
            temp = curr.next
            temp.previous = curr
            curr.next = new_node
            new_node.previous = curr
            new_node.next = temp
            temp.previous = new_node
            self.size = self.size + 1

my_instance = DoubleList()
print("एलिमेंट्स डबल लिंक्ड लिस्ट में जोड़े जा रहे हैं")
my_instance.add_data(10)
my_instance.add_data(24)
my_instance.add_data(54)
print("एलिमेंट्स सूची के बीच में जोड़े जा रहे हैं")
my_instance.add_data_in_middle(77)
my_instance.print_it()
my_instance.add_data_in_middle(92)
my_instance.print_it()

आउटपुट

एलिमेंट्स डबल लिंक्ड लिस्ट में जोड़े जा रहे हैं
एलिमेंट्स सूची के बीच में जोड़े जा रहे हैं
डबल लिंक्ड लिस्ट में नोड्स हैं:
10
24
77
54
डबल लिंक्ड लिस्ट में नोड्स हैं:
10
24
92
77
54

व्याख्या

  • 'Node' क्लास बनाई जाती है।
  • आवश्यक एट्रिब्यूट्स के साथ एक और क्लास बनाई जाती है।
  • 'add_data_in_middle' नामक एक मेथड परिभाषित किया गया है, जिसका उपयोग डबल लिंक्ड लिस्ट के मध्य इंडेक्स में डेटा जोड़ने के लिए किया जाता है।
  • 'add_data' नामक एक मेथड परिभाषित किया गया है, जो डबल लिंक्ड लिस्ट में नोड्स जोड़ने में मदद करता है।
  • 'print_it' नामक एक और मेथड परिभाषित किया गया है, जो सर्कुलर लिंक्ड लिस्ट के नोड्स प्रदर्शित करता है।
  • 'double_list' क्लास का एक ऑब्जेक्ट बनाया जाता है, और डबल लिंक्ड लिस्ट में डेटा जोड़ने के लिए उस पर मेथड्स कॉल किए जाते हैं।
  • लिंक्ड लिस्ट के मध्य इंडेक्स में डेटा जोड़ने के लिए 'add_data_in_middle' को कॉल किया जाता है।
  • एक 'init' मेथड परिभाषित किया जाता है, जो डबल लिंक्ड लिस्ट के रूट, हेड, और टेल नोड्स को None पर सेट करता है।
  • इसे 'print_it' मेथड का उपयोग करके कंसोल पर प्रदर्शित किया जाता है।

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

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

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

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

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

    मान लीजिए हमारे पास एक सिंगली लिंक्ड लिस्ट नोड है, हमें मध्य नोड का मान ढूंढना है। और जब दो मध्य नोड होते हैं, तो हम दूसरा वाला वापस करेंगे। हमें इसे सिंगल पास में हल करने का प्रयास करना है। उदाहरण के लिए, यदि इनपुट [5,9,6,4,8,2,1,4,5,2] है, तो आउटपुट 2 होगा। इसे हल करने के लिए हम निम्न चरणों का पा