C++でリンクリストの偶数を表示する方法


  1. リンクリストのノードを順番にたどり、偶数の値を表示する方法:
#include <iostream>
struct Node {
    int data;
    Node* next;
};
void displayEvenNumbers(Node* head) {
    Node* current = head;
    while (current != nullptr) {
        if (current->data % 2 == 0) {
            std::cout << current->data << " ";
        }
        current = current->next;
    }
}
int main() {
    // リンクリストの作成と初期化
    Node* head = new Node();
    Node* second = new Node();
    Node* third = new Node();
    head->data = 1;
    head->next = second;
    second->data = 2;
    second->next = third;
    third->data = 3;
    third->next = nullptr;
    // 偶数を表示する
    displayEvenNumbers(head);
    return 0;
}

この方法では、リンクリストのノードを順番にたどりながら、各ノードの値が偶数かどうかをチェックし、偶数の場合にその値を表示します。

  1. リンクリストのノードを再帰的にたどり、偶数の値を表示する方法:
#include <iostream>
struct Node {
    int data;
    Node* next;
};
void displayEvenNumbers(Node* node) {
    if (node == nullptr) {
        return;
    }
    if (node->data % 2 == 0) {
        std::cout << node->data << " ";
    }
    displayEvenNumbers(node->next);
}
int main() {
    // リンクリストの作成と初期化
    Node* head = new Node();
    Node* second = new Node();
    Node* third = new Node();
    head->data = 1;
    head->next = second;
    second->data = 2;
    second->next = third;
    third->data = 3;
    third->next = nullptr;
    // 偶数を表示する
    displayEvenNumbers(head);
    return 0;
}

この方法では、再帰的にリンクリストのノードをたどりながら、各ノードの値が偶数かどうかをチェックし、偶数の場合にその値を表示します。