C言語でリストを作成する方法は何ですか?

C言語でのリストの作成は、以下のステップで行うことができます。

  1. リンクリストのノードを表す構造体を定義します。構造体にはデータフィールドと次のノードを指すポインタフィールドが含まれます。例えば:
typedef struct Node {
    int data;
    struct Node* next;
} Node;
  1. リストの先頭ノードを作成し、NULLで初期化します。例えば、
Node* head = NULL;
  1. リストを構築するためにノードを一つずつ挿入します。以下のステップを繰り返すためにループを使用することができます。
  2. a. 新しいノードを作成し、そのためにメモリ領域を割り当てます。例えば:
  3. 新しいノードを作成する。 Node* newNode = (Node*)malloc(sizeof(Node));
  4. 新しいノードのデータ領域にデータを保存する。例えば、
  5. 新しいノードのデータに10を代入する。
  6. 新しいノードをリストに挿入します。初めてのノードの場合は、ヘッドノードとして挿入し、それ以外の場合は、リストの最後に挿入します。例:
  7. もし(head == NULL)なら、head = newNode; newNode->next = NULL;になります。しかし、もしhead != NULLなら、Node* current = head; while (current->next != NULL) {current = current->next;}のようになります。そして、current->next = newNode; newNode->next = NULL;にします。
  8. リストの印刷やその他の操作が必要な場合には、ループを使用してリストのノードを走査できます。例えば:
Node* current = head;
while (current != NULL) {
    printf("%d ", current->data);
    current = current->next;
}

リンクリストを使用した後、重要なのはメモリを解放することです。つまり、各ノードが占有するメモリを解放するためにfree()関数を使用することを忘れないでください。

bannerAds