ノードをリンクリストの先頭に挿入するためには、以下の手順を実行します。
-
新しいノードを作成します。このノードには、挿入したいデータと次のノードへの参照が含まれます。
-
新しいノードの次のノードの参照を、リンクリストの先頭のノードへの参照に設定します。これにより、新しいノードが先頭に追加されます。
-
リンクリストの先頭のノードへ、新しいノードへの参照を更新します。
以下は、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言語を使用していますが、他のプログラミング言語でも同様の手順でリンクリストにノードを先頭に挿入することができます。