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

पायथन प्रोग्राम: लिंक्ड सूची के अंत से Nवां नोड प्रिंट करना


जब लिंक्ड सूची के अंत से विशिष्ट नोड प्रिंट करने की आवश्यकता होती है, तो 'list_length' और 'return_from_end' विधियाँ परिभाषित की जाती हैं। 'list_length' लिंक्ड सूची की लंबाई लौटाता है।

'return_from_end' विधि का उपयोग लिंक्ड सूची के अंत से nवें तत्व को लौटाने के लिए किया जाता है।

उदाहरण

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 list_length(my_list):
    my_len = 0
    curr = my_list.head
    while curr:
        curr = curr.next
        my_len = my_len + 1
    return my_len

def return_from_end(my_list, n):
    l = list_length(my_list)
    curr = my_list.head
    for i in range(l - n):
        curr = curr.next
    return curr.data

my_instance = LinkedList_structure()
my_list = input('लिंक्ड सूची के तत्व दर्ज करें..').split()
for elem in my_list:
    my_instance.add_vals(int(elem))

n = int(input('n के लिए मान दर्ज करें.. '))
my_result = return_from_end(my_instance, n)
print('अंत से nवां तत्व है: {}'.format(my_result))

आउटपुट

लिंक्ड सूची के तत्व दर्ज करें.. 45 31 20 87 4
n के लिए मान दर्ज करें.. 2
अंत से nवां तत्व है: 87

व्याख्या

  • 'Node' क्लास बनाई गई है।

  • आवश्यक विशेषताओं के साथ एक अन्य 'LinkedList_structure' क्लास बनाई गई है।

  • इसमें एक 'init' फ़ंक्शन है जो पहले तत्व, यानी 'head' और 'last_node' को 'None' इनिशियलाइज़ करने के लिए उपयोग किया जाता है।

  • 'add_vals' नामक एक विधि परिभाषित की गई है, जो स्टैक में मान जोड़ने में मदद करती है।

  • 'list_length' नामक एक विधि परिभाषित की गई है, जो लिंक्ड सूची की लंबाई निर्धारित करती है, और इसे आउटपुट के रूप में लौटाती है।

  • 'return_from_end' नामक एक अन्य विधि परिभाषित की गई है, जो लिंक्ड सूची के अंत से 'n' मान लौटाने में मदद करती है।

  • 'LinkedList_structure' का एक इंस्टेंस बनाया जाता है।

  • तत्वों को लिंक्ड सूची में जोड़ा जाता है।

  • तत्वों को कंसोल पर प्रदर्शित किया जाता है।

  • 'return_from_end' विधि को इस लिंक्ड सूची पर कॉल किया जाता है।

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


  1. C प्रोग्राम में लिंक्ड लिस्ट के अंत से nवें नोड को ढूंढना C प्रोग्राम में लिंक्ड लिस्ट के अंत से nवें नोड को ढूंढना

    n नोड्स दिए जाने पर, लिंक्ड लिस्ट के अंत से nवें नोड को प्रिंट करना है। प्रोग्राम को लिस्ट में नोड्स का क्रम नहीं बदलना चाहिए, बल्कि केवल लिंक्ड लिस्ट के अंत से nवें नोड को प्रिंट करना चाहिए। उदाहरण इनपुट: 10 20 30 40 50 60, N=3 आउटपुट: 40 उपरोक्त उदाहरण में, पहले नोड से शुरू करके count-n नोड्स त

  1. - पायथन प्रोग्राम: सर्कुलर लिंक्ड लिस्ट के एलिमेंट्स को क्रमबद्ध करें

    जब सर्कुलर लिंक्ड लिस्ट के एलिमेंट्स को क्रमबद्ध करने की आवश्यकता होती है, तो एक Node क्लास बनाने की आवश्यकता होती है। इस क्लास में दो एट्रिब्यूट्स होते हैं, नोड में मौजूद डेटा, और लिंक्ड लिस्ट के अगले नोड तक पहुंच।सर्कुलर लिंक्ड लिस्ट में, हेड और रियर एक-दूसरे से सटे होते हैं। वे एक सर्कल बनाने के

  1. - पायथन में लिंक्ड लिस्ट के Kवें अंतिम नोड को खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक सिंगली लिंक्ड लिस्ट है, हमें kवें अंतिम नोड (0-इंडेक्स्ड) का मान ढूंढना है। हमें इसे सिंगल पास में हल करना है। उदाहरण के लिए, यदि इनपुट node = [5,4,6,3,4,7], k = 2 है, तो आउटपुट 3 होगा, क्योंकि दूसरा अंतिम (इंडेक्स 3) नोड का मान 3 है। इसे हल करने के लिए हम निम्न चरणों का पालन