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

पायथन में एक लिंक्ड सूची की लंबाई

मान लीजिए कि हमारे पास एक एकल लिंक की गई सूची है, हमें इसकी लंबाई ज्ञात करनी है। लिंक की गई सूची में अगले और वैल फ़ील्ड हैं।

इसलिए, यदि इनपुट [2 -> 4 -> 5 -> 7 -> 8 -> 9 -> 3] जैसा है, तो आउटपुट 7 होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • गिनती :=0
  • जबकि नोड शून्य नहीं है, करें
    • गिनती :=गिनती + 1
    • नोड:=नोड के बगल में
  • वापसी की संख्या

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

उदाहरण

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
class Solution:
   def solve(self, node):
      count = 0
      while node:
         count +=1
         node=node.next
      return count
ob = Solution()
head = make_list([2,4,5,7,8,9,3])
print(ob.solve(head))

इनपुट

[2,4,5,7,8,9,3]

आउटपुट

7

  1. पायथन में लिंक की गई सूची में नोड्स को स्वैप करने का कार्यक्रम

    मान लीजिए कि हमारे पास एक सूची L और दूसरा मान k है। हमें शुरू से kth नोड और अंत से kth नोड को स्वैप करना होगा और अंत में अंतिम सूची वापस करनी होगी। इसलिए, यदि इनपुट L =[1,5,6,7,1,6,3,9,12] k =3 जैसा है, तो आउटपुट [1,5,3,7,1,6, 6,9,12], शुरू से तीसरा नोड 6 है और अंत से 3 है, इसलिए उनकी अदला-बदली की

  1. K लंबाई पंक्तियों को छोड़ने के लिए पायथन कार्यक्रम

    जब K लंबाई की पंक्तियों को छोड़ना आवश्यक होता है, तो एक साधारण पुनरावृत्ति और संलग्न विधि के साथ लेन विधि का उपयोग किया जाता है। उदाहरण नीचे उसी का एक प्रदर्शन है my_list = [[41, 7], [8, 10, 12, 8], [10, 11], [6, 82, 10]] print("The list is :") print(my_list) my_k = 2 print("The va

  1. पायथन में लिंक की गई सूची से m नोड्स के बाद n नोड्स को हटाने का कार्यक्रम

    मान लीजिए कि हमें एक लिंक्ड सूची दी गई है जिसमें हेड के रूप में प्रारंभ नोड है, और दो पूर्णांक संख्याएं एम और एन हैं। हमें सूची को पार करना होगा और कुछ नोड्स को हटाना होगा जैसे कि पहले m नोड्स को सूची में रखा जाता है और अगले n नोड्स को पहले m नोड्स को हटा दिए जाने के बाद। हम इसे तब तक करते हैं जब तक