リンクリストへのノードの先頭への挿入方法


ノードをリンクリストの先頭に挿入するためには、以下の手順を実行します。

  1. 新しいノードを作成します。このノードには、挿入したいデータと次のノードへの参照が含まれます。

  2. 新しいノードの次のノードの参照を、リンクリストの先頭のノードへの参照に設定します。これにより、新しいノードが先頭に追加されます。

  3. リンクリストの先頭のノードへ、新しいノードへの参照を更新します。

以下は、C言語でリンクリストにノードを先頭に挿入する例です。

#include <stdio.h>
#include <stdlib.h>
// リンクリストのノードを表す構造体
struct Node {
    int data;
    struct Node* next;
};
// リンクリストの先頭にノードを挿入する関数
void insertAtBeginning(struct Node head, int newData) {
    // 新しいノードを作成
    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
    newNode->data = newData;
    // 新しいノードの次のノードを現在の先頭ノードに設定
    newNode->next = *head;
    // 新しいノードを先頭ノードとして設定
    *head = newNode;
}
// リンクリストの要素を表示する関数
void printList(struct Node* node) {
    while (node != NULL) {
        printf("%d ", node->data);
        node = node->next;
    }
}
int main() {
    // 空のリンクリストを作成
    struct Node* head = NULL;
    // ノードを先頭に挿入
    insertAtBeginning(&head, 4);
    insertAtBeginning(&head, 3);
    insertAtBeginning(&head, 2);
    insertAtBeginning(&head, 1);
    // リンクリストの要素を表示
    printf("リンクリストの要素: ");
    printList(head);
    return 0;
}

このコードは、リンクリストの先頭に4つの要素を挿入し、最終的にリンクリストの要素を表示します。

上記の例では、C言語を使用していますが、他のプログラミング言語でも同様の手順でリンクリストにノードを先頭に挿入することができます。