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

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


একটি লিংকড লিস্ট দেওয়া আছে। অল্টারনেট নোডগুলো (০, ২, ৪, ৬... ইনডেক্স) এর ডেটার যোগফল বের করতে হবে।

ইনপুট

4 → 12 → 10 → 76 → 9 → 26 → 1

আউটপুট

24

ব্যাখ্যা — অল্টারনেট: 4 + 10 + 9 + 1 = 24।

ইটেরেটিভ পদ্ধতি

int sumAlternateNodeIt(Node* head){
    bool flag = true; int sum = 0;
    while(head){
        if(flag) sum += head->data;
        flag = !flag;
        head = head->next;
    }
    return sum;
}

রিকারসিভ পদ্ধতি

void sumAlternateNodeRec(Node* node, int &sum, bool flag = true){
    if(!node) return;
    if(flag) sum += node->data;
    sumAlternateNodeRec(node->next, sum, !flag);
}

পূর্ণ কোড (ইটেরেটিভ)

#include <iostream> 
using namespace std; 

struct Node{ int data; Node* next; };

void pushNode(Node** head, int data){
    Node* newNode = (Node*)malloc(sizeof(Node));
    newNode->data = data; newNode->next = *head; *head = newNode;
}

int sumAlternateNodeIt(Node* head){
    bool flag = true; int sum = 0;
    while(head){
        if(flag) sum += head->data;
        flag = !flag; head = head->next;
    }
    return sum;
}

int main(){
    Node* head = NULL;
    pushNode(&head, 54); pushNode(&head, 12);
    pushNode(&head, 87); pushNode(&head, 1);
    pushNode(&head, 99); pushNode(&head, 11);
    cout << "Sum of alternate nodes: " << sumAlternateNodeIt(head);
    return 0;
}

আউটপুট

The sum of alternate nodes is 24

  1. সি প্রোগ্রামিং-এ লিংকড লিস্টের বিকল্প নোড প্রিন্ট করা (ইটারেটিভ মেথড)

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

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

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