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

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


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

डबल लिंक्ड लिस्ट में, नोड्स में पॉइंटर्स होते हैं। वर्तमान नोड में अगले नोड के साथ-साथ पिछले नोड का पॉइंटर होगा। सूची में अंतिम मान का अगले पॉइंटर में 'NULL' मान होगा। इसे दोनों दिशाओं में ट्रैवर्स किया जा सकता है।

उदाहरण

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

class CountVal:
    def __init__(self):
        self.head = None
        self.tail = None
    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
    def count_node(self):
        my_counter = 0
        curr = self.head
        while(curr != None):
            my_counter = my_counter + 1
            curr = curr.next
        return my_counter
    def print_it(self):
        curr = self.head
        if (self.head == None):
            print("सूची खाली है")
            return
        print("नोड्स हैं:")
        while curr != None:
            print(curr.data)
            curr = curr.next

my_instance = CountVal()
print("एलिमेंट्स सूची में जोड़े जा रहे हैं")
my_instance.add_data(10)
my_instance.add_data(14)
my_instance.add_data(24)
my_instance.add_data(17)
my_instance.add_data(22)
my_instance.print_it()
print("डबल लिंक्ड लिस्ट में नोड्स हैं: ")
print(my_instance.count_node())

आउटपुट

एलिमेंट्स सूची में जोड़े जा रहे हैं
नोड्स हैं:
10
14
24
17
22
डबल लिंक्ड लिस्ट में नोड्स हैं: 5

व्याख्या

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

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

    जब डबल लिंक्ड लिस्ट में एलिमेंट्स बनाने और प्रदर्शित करने की आवश्यकता होती है, तो एक Node क्लास बनाने की आवश्यकता होती है। इस क्लास में तीन एट्रिब्यूट्स होते हैं, नोड में मौजूद डेटा, लिंक्ड लिस्ट के अगले नोड तक पहुंच, और लिंक्ड लिस्ट के पिछले नोड तक पहुंच।उदाहरणclass Node: def __init__(self, my_

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

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

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

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