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

एक लिंक्ड सूची के केवल पहले एन तत्वों को उलटने के लिए पायथन प्रोग्राम

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

नीचे उसी के लिए एक प्रदर्शन है -

उदाहरण

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' पद्धति को कहा जाता है।

  • आउटपुट कंसोल पर प्रदर्शित होता है।


  1. पायथन में एक लिंक की गई सूची को उलटने का कार्यक्रम

    2 होगी। इसे हल करने के लिए, हम इस दृष्टिकोण का पालन करेंगे - हल (सिर, पीछे) के रूप में पुनरावर्ती तरीके से सूची उलट करने के लिए एक प्रक्रिया को परिभाषित करें यदि सिर मौजूद नहीं है, तो सिर वापस करें अस्थायी:=head.next head.next:=पीछे पीछे:=सिर अगर टेम्परेचर खाली है, तो हेड रिटर्न करें सिर:=अस्थायी

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

    मान लीजिए कि हमारे पास एक लिंक की गई सूची है, हमें इसे उलटना होगा। तो अगर सूची 1 → 3 → 5 → 7 की तरह है, तो नई उलटी सूची 7 → 5 → 3 → 1 होगी इसे हल करने के लिए, हम इस दृष्टिकोण का पालन करेंगे - हल करने के लिए पुनरावर्ती तरीके से सूची उलटने के लिए एक प्रक्रिया को परिभाषित करें (सिर, पीछे) यदि सिर मौज

  1. सूची में पहले और अंतिम तत्वों को इंटरचेंज करने के लिए पायथन प्रोग्राम

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सूची दी गई है, हमें अंतिम तत्व को पहले तत्व के साथ स्वैप करने की आवश्यकता है। समस्या को हल करने के लिए 4 दृष्टिकोण हैं जैसा कि नीचे चर्चा की गई है- दृष्टिकोण 1 - पाशविक बल दृष्टिकोण उदाहरण def swapLast(List)