c語(yǔ)言createlist函數(shù)的用法是什么

小億
541
2023-11-23 00:33:16

在C語(yǔ)言中,createlist()函數(shù)的用途是創(chuàng)建一個(gè)新的鏈表。

函數(shù)的定義可能如下:

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

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

    // 創(chuàng)建n個(gè)節(jié)點(diǎn)
    for (i = 0; i < n; i++) {
        temp = (Node*)malloc(sizeof(Node));
        printf("輸入第 %d 個(gè)節(jié)點(diǎn)的值: ", i+1);
        scanf("%d", &(temp->data));
        temp->next = NULL;

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

            // 移動(dòng)到鏈表尾部
            while (p->next != NULL) {
                p = p->next;
            }

            p->next = temp;
        }
    }

    return head;
}

這個(gè)函數(shù)將根據(jù)用戶輸入創(chuàng)建一個(gè)包含n個(gè)節(jié)點(diǎn)的鏈表,并返回鏈表的頭指針。每個(gè)節(jié)點(diǎn)包含一個(gè)整數(shù)值和一個(gè)指向下一個(gè)節(jié)點(diǎn)的指針。在函數(shù)內(nèi)部,它會(huì)使用malloc()函數(shù)為每個(gè)節(jié)點(diǎn)分配內(nèi)存,并將用戶輸入的值存儲(chǔ)在節(jié)點(diǎn)的data字段中。然后,它會(huì)將新節(jié)點(diǎn)添加到鏈表的末尾,直到創(chuàng)建了n個(gè)節(jié)點(diǎn)。最后,函數(shù)返回鏈表的頭指針。

0