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

C++ में लिंक्ड लिस्ट में नोड्स के छोटे तत्वों का योग


इस समस्या में, हमें एक लिंक्ड लिस्ट दी गई है जिसमें एक नोड में दो मान और एक पॉइंटर होता है। हमारा कार्य लिंक्ड लिस्ट में एक नोड के छोटे तत्वों का योग ज्ञात करने के लिए एक प्रोग्राम बनाना है।

यहां, लिंक्ड लिस्ट में हमारे पास दो तत्व हैं मान लें X और Y। प्रोग्राम x और y का न्यूनतम ढूंढेगा। सभी नोड्स से न्यूनतम तत्वों को जोड़ा जाता है जो आवश्यक परिणाम है।

इनपुट -

(5,2)->(7,9)->(6,3)->(36,24)->(19,26)->null

आउटपुट -

55

व्याख्या -

आइए प्रत्येक नोड से X और Y का न्यूनतम लेते हैं -

नोड1 - न्यूनतम = 5
नोड2 - न्यूनतम = 7
नोड3 - न्यूनतम = 3
नोड4 - न्यूनतम = 24
नोड5 - न्यूनतम = 19
योग = 55

इस समस्या को हल करने के लिए, हम एक सीधा दृष्टिकोण उपयोग करेंगे जिसमें प्रत्येक नोड पर जाएं और X और Y का न्यूनतम ढूंढें। फिर इसे योग चर में जोड़ें और जब नोड समाप्त हो जाए तो योग वापस करें।

एल्गोरिदम

आरंभीकरण - योग = 0

चरण 1 - सूची को पार करें और निम्नलिखित करें:

चरण 1.1 - हेड -> X और हेड -> Y का न्यूनतम ढूंढें।

चरण 1.2 - न्यूनतम को योग में जोड़ें।

चरण 2 - योग वापस करें।

कार्यक्रम उदाहरण

#include <iostream>
using namespace std;

struct Node {
    int X;
    int Y;
    Node* next;
};

void addNode(Node** head, int x, int y){
    Node* ptr = *head;
    Node* temp = new Node();
    temp->X = x;
    temp->Y = y;
    temp->next = NULL;
    if (*head == NULL)
        *head = temp;
    else {
        while (ptr->next != NULL)
            ptr = ptr->next;
        ptr->next = temp;
    }
}

int findMinSum(Node* head){
    int sum = 0;
    while (head != NULL) {
        sum += min(head->X , head->Y);
        head = head->next;
    }
    return sum;
}

int main(){
    Node* head = NULL;
    addNode(&head, 5, 2);
    addNode(&head, 7, 9);
    addNode(&head, 6, 3);
    addNode(&head, 36, 24);
    addNode(&head, 19, 26);
    cout << "लिंक्ड लिस्ट में नोड्स के छोटे तत्वों का योग " << findMinSum(head) << endl;
    return 0;
}

आउटपुट

लिंक्ड लिस्ट में नोड्स के छोटे तत्वों का योग 55
  1. C++ में लिंक्ड सूची के वैकल्पिक नोड्स का योग C++ में लिंक्ड सूची के वैकल्पिक नोड्स का योग

    इस समस्या में, हमें एक लिंक्ड सूची दी गई है। हमारा कार्य लिंक्ड सूची के वैकल्पिक नोड्स का योग प्रिंट करना है। लिंक्ड सूची डेटा संरचनाओं का एक क्रम है जो लिंक्स के माध्यम से एक साथ जुड़े हुए हैं। अब, आइए समस्या पर वापस आते हैं। यहां, हम लिंक्ड सूची के वैकल्पिक नोड्स को जोड़ेंगे। इसका मतलब है हम

  1. C++ में सर्कुलर लिंक्ड लिस्ट में नोड्स की गिनती करें C++ में सर्कुलर लिंक्ड लिस्ट में नोड्स की गिनती करें

    हमें नोड्स के साथ एक सर्कुलर लिंक्ड लिस्ट दी गई है और कार्य सर्कुलर लिंक्ड लिस्ट में मौजूद नोड्स की संख्या की गणना करना है। सर्कुलर लिंक्ड लिस्ट लिंक्ड लिस्ट का एक प्रकार है जिसमें पहला तत्व अंतिम तत्व की ओर इंगित करता है और अंतिम तत्व पहले तत्व की ओर इंगित करता है। सिंगली लिंक्ड लिस्ट और डबली लिं

  1. C++ में पुनरावृत्ति का उपयोग करके लिंक्ड लिस्ट के वैकल्पिक नोड्स प्रिंट करें C++ में पुनरावृत्ति का उपयोग करके लिंक्ड लिस्ट के वैकल्पिक नोड्स प्रिंट करें

    लिंक्ड लिस्ट एक रैखिक डेटा संरचना है जो तत्वों को गैर-सन्निहित मेमोरी स्थानों में संग्रहीत करती है। प्रत्येक तत्व में लिंक्ड लिस्ट के अगले तत्व का एक पॉइंटर होता है। उदाहरण - इस समस्या में, हमें एक लिंक्ड लिस्ट दी गई है और हमें इस लिंक्ड लिस्ट के तत्वों को प्रिंट करना है लेकिन केवल वैकल्पिक तत्वों