কম্পিউটার টিউটোরিয়াল

C++-এ লিংকড লিস্টের নোডের ছোট এলিমেন্টের যোগফল


এই সমস্যাতে, আমাদের একটি লিংকড লিস্ট দেওয়া আছে যার নোড দুটি মান এবং একটি পয়েন্টার ধারণ করে। আমাদের কাজ হলো লিংকড লিস্টের নোডের ছোট এলিমেন্টের যোগফল বের করার প্রোগ্রাম লিখা।

এখানে, লিংকড লিস্টে দুটি এলিমেন্ট আছে বলুন X এবং Y। প্রোগ্রামটি X এবং Y-এর মিনিমাম বের করবে। সব নোড থেকে মিনিমাম এলিমেন্টগুলো যোগফল করবে যা প্রয়োজনীয় ফলাফল।

ইনপুট −

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

আউটপুট −

55

ব্যাখ্যা −

প্রতিটি নোড থেকে X এবং Y-এর মিনিমাম নিই −

node1 - mini = 5 
node2 - mini = 7 
node3 - mini = 3 
node4 - mini = 24 
node5 - mini = 19 
Sum = 55

এই সমস্যা সমাধানের জন্য, আমরা একটি সরল পদ্ধতি ব্যবহার করব: প্রতিটি নোড ভিজিট করে X এবং Y-এর মিনিমাম বের করব। তারপর সেটি sum ভেরিয়েবলে যোগ করব এবং নোড শেষ হলে sum রিটার্ন করব।

অ্যালগরিদম

ইনিশিয়ালাইজ − sum = 0

স্টেপ ১ − লিস্ট ট্রাভার্স করুন এবং নিচের কাজগুলো করুন:

স্টেপ ১.১ − head → X এবং head → Y-এর মিনিমাম বের করুন।

স্টেপ ১.২ − মিনিমামকে sum-এ যোগ করুন।

স্টেপ ২ − Sum রিটার্ন করুন।

উদাহরণ

আমাদের অ্যালগরিদমের ওয়ার্কিং ইলাস্ট্রেট করার প্রোগ্রাম −

#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<<"The sum of smaller elements of nodes in Linked List is "<<findMinSum(head)<<endl; 
    return 0; 
}

আউটপুট

The sum of smaller elements of nodes in Linked List is 55

  1. সি++-এ সার্কুলার লিংকড লিস্টের নোডগুলোর যোগফল (Sum)

  2. সি++-এ লিংকড লিস্টের অল্টারনেট নোডগুলোর যোগফল

  3. C++-এ সার্কুলার লিঙ্কড লিস্টে নোড গণনা

  4. C++-এ লিংকড লিস্টের אל্টারনেট নোড প্রিন্ট করুন (রিকার্সন ছাড়া)