जब लिंक्ड लिस्ट में किसी विशिष्ट सेट के एलिमेंट्स को रिवर्स करना होता है, तो 'reverse_list' नामक एक मेथड डिफाइन की जाती है। यह लिस्ट के माध्यम से इटरेट करती है और विशिष्ट एलिमेंट्स को रिवर्स करती है।
उदाहरण
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('लिंक्ड लिस्ट के एलिमेंट्स दर्ज करें... ').split()
for elem in my_list:
my_instance.add_vals(int(elem))
n = int(input('लिस्ट में रिवर्स करने के लिए एलिमेंट्स की संख्या दर्ज करें... '))
reverse_list(my_instance, n)
print('नई लिस्ट है: ')
my_instance.print_it()
आउटपुट
लिंक्ड लिस्ट के एलिमेंट्स दर्ज करें... 45 67 89 12 345 लिस्ट में रिवर्स करने के लिए एलिमेंट्स की संख्या दर्ज करें... 3 नई लिस्ट है: 89 67 45 12 345
व्याख्या
'Node' क्लास बनाई गई है।
आवश्यक एट्रिब्यूट्स के साथ 'LinkedList_structure' क्लास बनाई गई है।
इसमें एक 'init' फंक्शन है जो पहले एलिमेंट यानी 'head' को 'None' से इनिशियलाइज़ करता है।
'add_vals' नामक एक मेथड डिफाइन की गई है, जो लिंक्ड लिस्ट में वैल्यू जोड़ने में मदद करती है।
'print_it' नामक एक अन्य मेथड डिफाइन की गई है, जो लिंक्ड लिस्ट के वैल्यूज़ को कंसोल पर डिस्प्ले करने में मदद करती है।
'reverse_list' नामक एक अन्य मेथड डिफाइन की गई है, जो लिंक्ड लिस्ट के विशिष्ट एलिमेंट्स को रिवर्स करने में मदद करती है।
'LinkedList_structure' का एक इंस्टेंस बनाया गया है।
लिंक्ड लिस्ट में एलिमेंट्स जोड़े गए हैं।
यूज़र से रिवर्स किए जाने वाले एलिमेंट्स की संख्या ली गई है।
इस लिंक्ड लिस्ट पर 'reverse_list' मेथड कॉल की गई है।
आउटपुट कंसोल पर डिस्प्ले किया गया है।