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

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

একটি লিংকড লিস্ট দেওয়া আছে। এর এলিমেন্টগুলো প্রিন্ট করতে হবে, কিন্তু শুধু অ্যাল্টারনেট (একটা বাদে একটা) এলিমেন্টগুলো।

উদাহরণ: ইনপুট: 2 → 4 → 1 → 67 → 48 → 90
আউটপুট: 2 → 1 → 48 (প্রথম, তৃতীয়, পঞ্চম এলিমেন্ট)।

ফ্ল্যাগ ভেরিয়েবল ব্যবহার

একটি ফ্ল্যাগ ভেরিয়েবল (শুরুতে ০) রাখা হয়। লিস্ট ট্রাভার্সালের সময় ফ্ল্যাগ ০ হলে নোডের মান প্রিন্ট করে ফ্ল্যাগ ১ করা হয়, অন্যথায় ফ্ল্যাগ ০ করা হয়।

উদাহরণ কোড
#include <stdio.h>
#include <stdlib.h>

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

void printAlternateNode(struct Node* head) {
    int flag = 0;
    while (head != NULL) {
        if (flag == 0) {
            printf(" %d ", head->data);
            flag = 1;
        } else
            flag = 0;
        head = head->next;
    }
}

void insertNode(struct Node** head_ref, int new_data) {
    struct Node* new_node = (struct Node*)malloc(sizeof(struct Node));
    new_node->data = new_data;
    new_node->next = (*head_ref);
    (*head_ref) = new_node;
}

int main() {
    struct Node* head = NULL;
    insertNode(&head, 23);
    insertNode(&head, 4);
    insertNode(&head, 98);
    insertNode(&head, 5);
    insertNode(&head, 71);
    printAlternateNode(head);
    return 0;
}
আউটপুট
71 98 23
  1. সি প্রোগ্রামিং-এ লিংকড লিস্টের বিকল্প নোড প্রিন্ট করা (ইটারেটিভ মেথড)

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

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

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