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

N नोड्स की सर्कुलर लिंक्ड लिस्ट बनाने और इसे रिवर्स ऑर्डर में प्रदर्शित करने के लिए Python प्रोग्राम


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

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

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

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

उदाहरण

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

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

    def add_data(self, my_data):
        new_node = Node(my_data)
        new_node.next = self.head
        self.head = new_node

    def reverse(self):
        prev = None
        current = self.head
        while current is not None:
            next = current.next
            current.next = prev
            prev = current
            current = next
        self.head = prev

    def print_it(self):
        temp = self.head
        while temp:
            print(temp.data)
            temp = temp.next

my_list = linked_list()
my_list.add_data(47)
my_list.add_data(89)
my_list.add_data(34)
my_list.add_data(11)
print("The list is : ")
my_list.print_it()
print("The list is being reversed")
my_list.reverse()
print("The reversed list is : ")
my_list.print_it()

आउटपुट

The list is : 11 34 89 47
The list is being reversed
The reversed list is : 47 89 34 11

व्याख्या

  • 'Node' क्लास बनाई गई है।
  • आवश्यक एट्रिब्यूट्स के साथ एक और 'linked_list' क्लास बनाई गई है।
  • 'add_data' नामक एक और मेथड परिभाषित किया गया है, जिसका उपयोग सर्कुलर लिंक्ड लिस्ट में डेटा जोड़ने के लिए किया जाता है।
  • 'reverse' नामक एक और मेथड परिभाषित किया गया है, जो सर्कुलर लिंक्ड लिस्ट में स्टोर डेटा को रिवर्स करता है।
  • 'print_it' नामक एक और मेथड परिभाषित किया गया है, जिसका उपयोग लिंक्ड लिस्ट डेटा को कंसोल पर प्रदर्शित करने के लिए किया जाता है।
  • 'linked_list' क्लास का एक ऑब्जेक्ट बनाया जाता है, और डेटा इसमें जोड़ा जाता है।
  • इसे 'reverse' मेथड का उपयोग करके रिवर्स किया जाता है।
  • यह 'print_it' मेथड का उपयोग करके कंसोल पर प्रदर्शित होता है।
  1. सिंगल लिंक्ड लिस्ट का उपयोग करके संख्याओं को रिवर्स क्रम में प्रदर्शित करने के लिए C प्रोग्राम सिंगल लिंक्ड लिस्ट का उपयोग करके संख्याओं को रिवर्स क्रम में प्रदर्शित करने के लिए C प्रोग्राम

    लिंक्ड लिस्ट डायनामिक मेमोरी एलोकेशन का उपयोग करती हैं और नोड्स का संग्रह होती हैं।नोड्स के दो भाग होते हैं जो डेटा और लिंक हैं।लिंक्ड लिस्ट के प्रकारC प्रोग्रामिंग भाषा में लिंक्ड लिस्ट के प्रकार निम्नलिखित हैं:सिंगल / सिंगली लिंक्ड लिस्टडबल / डबली लिंक्ड लिस्टसर्कुलर सिंगल लिंक्ड लिस्टसर्कुलर डबल

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

    मान लीजिए हमारे पास एक लिस्ट L और एक मान k है। हमें शुरुआत से k-वें नोड और अंत से k-वें नोड को स्वैप करना है और अंत में अंतिम लिस्ट वापस करना है। उदाहरण के लिए, यदि इनपुट L = [1,5,6,7,1,6,3,9,12], k = 3 है, तो आउटपुट [1,5,3,7,1,6,6,9,12] होगा, शुरुआत से 3रा नोड 6 है और अंत से 3 है, इसलिए वे स्वैप ह

  1. पायथन में लिंक्ड लिस्ट से m नोड्स के बाद n नोड्स डिलीट करने का प्रोग्राम पायथन में लिंक्ड लिस्ट से m नोड्स के बाद n नोड्स डिलीट करने का प्रोग्राम

    मान लीजिए हमें एक लिंक्ड लिस्ट दी गई है जिसका स्टार्ट नोड head है, और दो पूर्णांक m और n हैं। हमें लिस्ट को ट्रैवर्स करना है और कुछ नोड्स डिलीट करने हैं जैसे कि पहले m नोड्स लिस्ट में रखे जाएं और पहले m नोड्स के बाद अगले n नोड्स डिलीट कर दिए जाएं। हम इसे तब तक करते हैं जब तक लिंक्ड लिस्ट का अंत न आ