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

Python सर्कुलर लिंक्ड लिस्ट प्रोग्राम


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

एक और 'linked_list' क्लास बनाने की आवश्यकता होती है जिसमें एक इनिशियलाइज़ेशन फ़ंक्शन हो, और नोड के हेड को 'None' से इनिशियलाइज़ किया जाता है।

इसके लिए एक प्रदर्शन नीचे दिया गया है:

उदाहरण

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

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

    def add_data(self, my_data):
        ptr_1 = Node(my_data)
        temp = self.head
        ptr_1.next = self.head
        if self.head is not None:
            while temp.next != self.head:
                temp = temp.next
            temp.next = ptr_1
        else:
            ptr_1.next = ptr_1
        self.head = ptr_1

    def print_it(self):
        temp = self.head
        if self.head is not None:
            while True:
                print("%d" % (temp.data), end=" ")
                temp = temp.next
                if temp == self.head:
                    break

my_list = circularLinkedList()
print("Elements are added to the list ")
my_list.add_data(56)
my_list.add_data(78)
my_list.add_data(12)
print("The data is : ")
my_list.print_it()

आउटपुट

Elements are added to the list
The data is : 12 78 56

व्याख्या

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

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

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

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

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

    2 होगी।इसे हल करने के लिए, हम इस दृष्टिकोण का पालन करेंगे −सूची को रिकर्सिव तरीके से उलटने के लिए एक प्रक्रिया परिभाषित करें solve(head, back)यदि head मौजूद नहीं है, तो head वापस करेंtemp := head.nexthead.next := backback := headयदि temp खाली है, तो head वापस करेंhead := tempsolve(head, back)