C言語のCreateList関数の使い方は?

C言語でのcreatelist()関数の役割は新しいリストを作成することです。

関数の定義は次のようになります。

typedef struct Node {
    int data;
    struct Node* next;
} Node;

Node* createList(int n) {
    Node* head = NULL;
    Node* temp = NULL;
    Node* p = NULL;
    int i;

    // 创建n个节点
    for (i = 0; i < n; i++) {
        temp = (Node*)malloc(sizeof(Node));
        printf("输入第 %d 个节点的值: ", i+1);
        scanf("%d", &(temp->data));
        temp->next = NULL;

        if (head == NULL) {
            head = temp;
        } else {
            p = head;

            // 移动到链表尾部
            while (p->next != NULL) {
                p = p->next;
            }

            p->next = temp;
        }
    }

    return head;
}

ユーザーが入力した値をもとにn個のノードからなる連結リストを作成し、その先頭へのポインタを返します。各ノードは、整数の値と次のノードへのポインタを持ちます。関数内部では、malloc()を使って各ノードにメモリを割り当て、ユーザーが入力した値をノードのdataフィールドに格納します。その後、連結リストの末尾に新しいノードを追加し、n個のノードが作成されるまで続けます。最後に、関数はその連結リストの先頭へのポインタを返します。

bannerAds