C++で新しいノードを作成する方法


以下に、新しいノードを作成するシンプルで簡単な方法と、いくつかのコード例を示します。

  1. ノードの定義: まず、ノードの定義を行います。ノードは、データと次のノードへのポインタを持つことが一般的です。例えば、整数値をデータとして持つ単方向連結リストの場合、以下のようにノードを定義できます。
struct Node {
    int data;
    Node* next;
};
  1. 新しいノードの作成: 新しいノードを作成するには、まずメモリを動的に割り当てます。その後、データを設定し、ポインタを初期化します。以下は例です。
Node* createNode(int data) {
    Node* newNode = new Node;
    newNode->data = data;
    newNode->next = nullptr;
    return newNode;
}

上記の例では、createNode関数を使用して新しいノードを作成し、データを設定しています。nextポインタは、次のノードへの参照を保持します。nullptrは、ポインタの初期値として使用されます。

  1. 新しいノードの使用例: 新しいノードを使用する例を示します。以下は、単方向連結リストに新しいノードを追加する関数の一部です。
void addNode(Node head, int data) {
    Node* newNode = createNode(data);
    if (*head == nullptr) {
        *head = newNode;
    } else {
        Node* current = *head;
        while (current->next != nullptr) {
            current = current->next;
        }
        current->next = newNode;
    }
}

上記の例では、addNode関数を使用して新しいノードをリストに追加しています。headは、リストの先頭ノードへのポインタです。リストが空の場合は、新しいノードをリストの先頭に設定します。リストが空でない場合は、最後のノードまで移動し、新しいノードを追加します。

以上が、C++で新しいノードを作成する方法と、その使用例です。これを参考にして、自分のプログラムに適用してみてください。