溫馨提示×

c語言建立單鏈表的完整代碼

小億
127
2024-01-08 13:40:03
欄目: 編程語言

下面是一個C語言建立單鏈表的完整代碼示例:

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

// 定義鏈表節點結構
struct Node {
    int data;
    struct Node* next;
};

// 在鏈表末尾插入新節點
void insertAtEnd(struct Node** head, int newData) {
    // 創建新節點
    struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
    newNode->data = newData;
    newNode->next = NULL;

    // 如果鏈表為空,則將新節點作為頭節點
    if (*head == NULL) {
        *head = newNode;
        return;
    }

    // 遍歷鏈表直到最后一個節點
    struct Node* temp = *head;
    while (temp->next != NULL) {
        temp = temp->next;
    }

    // 在鏈表末尾插入新節點
    temp->next = newNode;
}

// 打印鏈表的元素
void printList(struct Node* node) {
    while (node != NULL) {
        printf("%d ", node->data);
        node = node->next;
    }
    printf("\n");
}

int main() {
    struct Node* head = NULL; // 初始化頭節點

    // 在鏈表末尾插入元素
    insertAtEnd(&head, 1);
    insertAtEnd(&head, 2);
    insertAtEnd(&head, 3);
    insertAtEnd(&head, 4);
    insertAtEnd(&head, 5);

    // 打印鏈表元素
    printList(head);

    return 0;
}

這段代碼首先定義了一個鏈表節點結構Node,其中包含數據域data和指向下一個節點的指針next。

然后,通過insertAtEnd函數在鏈表末尾插入新節點。該函數首先創建一個新節點,并將新節點的數據域設置為newData,將新節點的指針域next設置為NULL。

如果鏈表為空,則將新節點作為頭節點。否則,遍歷鏈表直到最后一個節點,然后將新節點插入到最后一個節點的next指針。

最后,通過printList函數打印鏈表的元素。該函數遍歷鏈表,并依次打印每個節點的數據域。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女