जब किसी लिंक की गई सूची में तत्वों के एक विशिष्ट सेट को उलटने की आवश्यकता होती है, तो 'रिवर्स_लिस्ट' नामक एक विधि परिभाषित की जाती है। यह सूची के माध्यम से पुनरावृति करता है, और तत्वों के विशिष्ट सेट को उलट देता है।
नीचे उसी के लिए एक प्रदर्शन है -
उदाहरण
class Node: def __init__(self, data): self.data = data self.next = None class LinkedList_structure: def __init__(self): self.head = None self.last_node = None def add_vals(self, data): if self.last_node is None: self.head = Node(data) self.last_node = self.head else: self.last_node.next = Node(data) self.last_node = self.last_node.next def print_it(self): curr = self.head while curr: print(curr.data) curr = curr.next def reverse_list(my_list, n): if n == 0: return before_val = None curr = my_list.head if curr is None: return after_val = curr.next for i in range(n): curr.next = before_val before_val = curr curr = after_val if after_val is None: break after_val = after_val.next my_list.head.next = curr my_list.head = before_val my_instance = LinkedList_structure() my_list = input('Enter the elements of the linked list... ').split() for elem in my_list: my_instance.add_vals(int(elem)) n = int(input('Enter the number of elements you wish to reverse in the list... ')) reverse_list(my_instance, n) print('The new list is : ') my_instance.print_it()
आउटपुट
Enter the elements of the linked list... 45 67 89 12 345 Enter the number of elements you wish to reverse in the list... 3 The new list is : 89 67 45 12 345
स्पष्टीकरण
-
'नोड' वर्ग बनाया गया है।
-
आवश्यक विशेषताओं के साथ एक और 'लिंक्डलिस्ट_स्ट्रक्चर' वर्ग बनाया गया है।
-
इसमें एक 'init' फंक्शन होता है जिसका इस्तेमाल पहले एलिमेंट यानी 'हेड' से 'कोई नहीं' को इनिशियलाइज़ करने के लिए किया जाता है।
-
'add_vals' नाम की एक विधि परिभाषित की गई है, जो स्टैक में मान जोड़ने में मदद करती है।
-
'प्रिंट_इट' नामक एक अन्य विधि को परिभाषित किया गया है, जो कंसोल पर लिंक की गई सूची के मूल्यों को प्रदर्शित करने में मदद करती है।
-
'रिवर्स_लिस्ट' नाम की एक अन्य विधि परिभाषित की गई है, जो लिंक की गई सूची के तत्वों के विशिष्ट सेट को उलटने में मदद करती है।
-
'LinkedList_struct' का एक उदाहरण बनाया गया है।
-
लिंक की गई सूची में तत्व जोड़े जाते हैं।
-
तत्व कंसोल पर प्रदर्शित होते हैं।
-
जिन तत्वों को उलटने की आवश्यकता है, वे उपयोगकर्ता से लिए गए हैं।
-
इस लिंक की गई सूची पर 'reverse_list' पद्धति को कहा जाता है।
-
आउटपुट कंसोल पर प्रदर्शित होता है।