溫馨提示×

c語言怎么創(chuàng)建一個鏈表

小億
111
2024-02-23 10:04:28
欄目: 編程語言

在C語言中,可以通過定義結(jié)構(gòu)體來創(chuàng)建鏈表。以下是一個簡單的例子:

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

// 定義鏈表節(jié)點(diǎn)結(jié)構(gòu)體
struct Node {
    int data;
    struct Node* next;
};

// 創(chuàng)建新節(jié)點(diǎn)
struct Node* createNode(int data) {
    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
    if(newNode == NULL) {
        printf("Memory allocation failed\n");
        exit(1);
    }
    newNode->data = data;
    newNode->next = NULL;
    return newNode;
}

int main() {
    // 創(chuàng)建鏈表頭指針
    struct Node* head = NULL;

    // 添加節(jié)點(diǎn)到鏈表
    struct Node* newNode = createNode(10);
    head = newNode;

    newNode->next = createNode(20);
    newNode = newNode->next;

    newNode->next = createNode(30);
    newNode = newNode->next;

    // 遍歷鏈表并打印節(jié)點(diǎn)的值
    struct Node* current = head;
    while(current != NULL) {
        printf("%d ", current->data);
        current = current->next;
    }

    return 0;
}

在上面的代碼中,首先定義了一個Node結(jié)構(gòu)體來表示鏈表節(jié)點(diǎn)。然后通過createNode()函數(shù)創(chuàng)建新的節(jié)點(diǎn),并通過指針將它們連接在一起形成鏈表。最后通過遍歷鏈表打印每個節(jié)點(diǎn)的值。

0