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

C++ में लिंक्ड लिस्ट में मॉड्यूलर नोड ढूंढना


इस समस्या में, हमें एक सिंगली लिंक्ड लिस्ट LL और एक संख्या k दी जाती है। हमारा कार्य लिंक्ड लिस्ट में मॉड्यूलर नोड ढूंढना है।

समस्या विवरण – हमें लिंक्ड लिस्ट के अंतिम नोड को ढूंढना है जिसके लिए इंडेक्स k से विभाज्य है यानी i % k == 0।

आइए एक उदाहरण से समस्या को समझते हैं,

इनपुट

ll = 3 -> 1 -> 9 -> 6 -> 8 -> 2, k = 4

आउटपुट

6

व्याख्या

तत्व 6 का इंडेक्स 4 है, जो 4 से विभाज्य है।

समाधान दृष्टिकोण

इस समस्या का एक सरल समाधान लिंक्ड लिस्ट के तत्वों को गिनने के लिए एक काउंटर बनाना है और मॉड्यूलर नोड को स्टोर करना है यानी वह नोड जिसके लिए i % k == 0, और n तक शर्त को संतुष्ट करने वाले सभी मानों के लिए अपडेट करना है।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला प्रोग्राम,

उदाहरण

#include <iostream> using namespace std; struct Node {    int data;    Node* next; }; Node* newNode(int data) {    Node* new_node = new Node;    new_node->data = data;    new_node->next = NULL;    return new_node; } Node* findModularNodeLL(Node* head, int k) {    if (k <= 0 || head == NULL)       return NULL;    int i = 1;    Node* modNode = NULL;    for (Node* currNode = head; currNode != NULL; currNode =       currNode->next) {          if (i % k == 0)             modNode = currNode;             i++;    }    return modNode; } int main() {    Node* head = newNode(3);    head->next = newNode(1);    head->next->next = newNode(9);    head->next->next->next = newNode(6);    head->next->next->next->next = newNode(8);    head->next->next->next->next->next = newNode(2);    int k = 4;    Node* modularNode = findModularNodeLL(head, k);    cout<<"The Modular node of linked list is ";    if (modularNode != NULL)       cout<<modularNode->data;    else    cout<<"Not found!";    return 0; }

आउटपुट

The Modular node of linked list is 6

  1. C++ में मल्टीलेवल लिंक्ड सूची को समतल करना C++ में मल्टीलेवल लिंक्ड सूची को समतल करना

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

  1. C++ में लिंक्ड लिस्ट में लूप की लंबाई ढूंढें C++ में लिंक्ड लिस्ट में लूप की लंबाई ढूंढें

    इस समस्या में, हमें एक लिंक्ड लिस्ट दी गई है जिसमें लूप हो सकते हैं। हमारा कार्य लिंक्ड लिस्ट में लूप की लंबाई ढूंढना है। समस्या विवरण: हमें लूप में नोड्स की संख्या गिननी है यदि इसमें लूप है अन्यथा -1 वापस करें। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट: linked-list : आउटपुट: 8 समाधान दृष्ट

  1. C++ में डौबली लिंक्ड लिस्ट का आकार ढूंढना C++ में डौबली लिंक्ड लिस्ट का आकार ढूंढना

    इस समस्या में, हमें एक डौबली लिंक्ड लिस्ट दी गई है। हमारा कार्य C++ में डौबली लिंक्ड लिस्ट का आकार ढूंढने के लिए एक प्रोग्राम बनाना है। डौबली लिंक्ड लिस्ट एक विशेष प्रकार की लिंक्ड लिस्ट है जिसमें नेविगेशन दोनों तरीकों से संभव है, आगे और पीछे आसानी से सिंगल लिंक्ड लिस्ट की तुलना में। डौबली लिंक्ड ल