जब किसी लिंक की गई सूची में तत्वों के एक विशिष्ट सेट को उलटने की आवश्यकता होती है, तो 'रिवर्स_लिस्ट' नामक एक विधि परिभाषित की जाती है। यह सूची के माध्यम से पुनरावृति करता है, और तत्वों के विशिष्ट सेट को उलट देता है।
नीचे उसी के लिए एक प्रदर्शन है -
उदाहरण
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' पद्धति को कहा जाता है।
-
आउटपुट कंसोल पर प्रदर्शित होता है।