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

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

मान लीजिए कि हमारे पास एक लिंक की गई सूची है, हमें इसे उलटना होगा। तो अगर सूची 2 -> 4 -> 6 -> 8 की तरह है, तो नई उलटी सूची 8 -> 6 -> 4 -> 2 होगी।

इसे हल करने के लिए, हम इस दृष्टिकोण का पालन करेंगे -

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

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

class ListNode:
   def __init__(self, data, next = None):
      self.val = data
      self.next = next
def make_list(elements):
   head = ListNode(elements[0])
   for element in elements[1:]:
      ptr = head
      while ptr.next:
         ptr = ptr.next
      ptr.next = ListNode(element)
   return head
def print_list(head):
   ptr = head
   print('[', end = "")
   while ptr:
      print(ptr.val, end = ", ")
      ptr = ptr.next
      print(']')
class Solution(object):
   def reverseList(self, head):
      return self.solve(head,None)
def solve(self, head, back):
   if not head:
      return head
   temp= head.next
   head.next = back
   back = head
   if not temp:
      return head
   head = temp
   return self.solve(head,back)
list1 = make_list([5,8,9,6,4,7,8,1])
ob1 = Solution()
list2 = ob1.reverseList(list1)
print_list(list2)

इनपुट

[5,8,9,6,4,7,8,1]

आउटपुट

[2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13,]

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

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

  1. 3D सूची बनाने के लिए पायथन प्रोग्राम।

    3D सूची का अर्थ है 3D सरणी। इस कार्यक्रम में हम पूर्णांक तत्वों के साथ 3D सरणी बनाते हैं। उदाहरण इनपुट:3× 3 × 2[[1,1,1], [2,2,2], [3,3,3]], [[4,4,4], [5,5, 5],[6,6,6]] एल्गोरिदम चरण 1:3D सूची के क्रम को देखते हुए। चरण 2:लूप के लिए हम सूची बनाते हैं और डेटा प्रिंट करते हैं। उदाहरण कोड # पायथन प्रोग्र

  1. एक वाक्य में प्रत्येक शब्द को उलटने के लिए पायथन प्रोग्राम?

    यहां हम फ़ंक्शन में निर्मित पायथन का उपयोग करते हैं। सबसे पहले हम वाक्य को शब्द की सूची में विभाजित करते हैं। फिर प्रत्येक शब्द को उलट दें और एक नई सूची बनाएं, यहां हम पायथन लिस्ट कॉम्प्रिहेंशन तकनीक का उपयोग करते हैं और आखिरी बार शब्दों की नई सूची में शामिल होकर एक नया वाक्य बनाते हैं। उदाहरण Inpu