C言語で単純連結リストを作成する方法

C言語でシングルクリンクドリストを作成する手順:

  1. リストのノードを表す構造体を定義して、2つのメンバー変数(データと次のノードへのポインタ)を持つ。
struct ListNode {
    int data;
    struct ListNode* next;
};
  1. 連結リストの先頭ノードを作成し、ポインタで指し示す。
struct ListNode* head = NULL;
  1. 新しいノードを作成して、そのメモリ空間を割り当てる。
struct ListNode* newNode = (struct ListNode*)malloc(sizeof(struct ListNode));
  1. 新しいノードのデータメンバに値を割り当てる。
newNode->data = value;
  1. 新しいノードをリンクリストに挿入し、リストの先頭または末尾に、または特定の規則に従って挿入します。
newNode->next = head;
head = newNode;
  1. 3から5までの手順を、リンクリスト全体が作成されるまで繰り返す。

包括C代码示例:

#include <stdio.h>
#include <stdlib.h>

// 定义链表节点的结构体
struct ListNode {
    int data;
    struct ListNode* next;
};

int main() {
    // 创建链表的头节点
    struct ListNode* head = NULL;

    // 创建新的节点,并为其分配内存空间
    struct ListNode* newNode = (struct ListNode*)malloc(sizeof(struct ListNode));

    // 给新节点的数据成员赋值
    newNode->data = 1;

    // 将新节点插入到链表中
    newNode->next = head;
    head = newNode;

    // 重复创建新节点的过程
    // ...

    return 0;
}

リンクリストの使用後は、メモリリークを避けるためにリンクリストノードのメモリ空間を解放する必要があります。リンクリストを走査し、各ノードのメモリ空間を逐次解放することで実現できます。

bannerAds