下面是用 C 语言编写的向单链表填入数据的代码示例,并辅以详细解释,帮助新手理解单链表的基本操作。

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

// 定义单链表节点结构体
typedef struct Node {
    int data;
    struct Node* next;
} Node;

// 向单链表插入数据
void insertData(Node** head, int data) {
    // 创建新节点
    Node* newNode = (Node*)malloc(sizeof(Node));
    newNode->data = data;
    newNode->next = NULL;

    // 如果链表为空,则将新节点作为头节点
    if (*head == NULL) {
        *head = newNode;
        return;
    }

    // 遍历链表,找到尾节点
    Node* current = *head;
    while (current->next != NULL) {
        current = current->next;
    }

    // 将新节点插入到尾节点后
    current->next = newNode;
}

// 打印单链表
void printList(Node* head) {
    Node* current = head;
    while (current != NULL) {
        printf('%d ', current->data);
        current = current->next;
    }
    printf('\n');
}

int main() {
    Node* head = NULL;

    // 向单链表插入数据
    insertData(&head, 10);
    insertData(&head, 20);
    insertData(&head, 30);

    // 打印单链表
    printList(head);

    return 0;
}

代码解析:

  1. 定义单链表节点结构体 Node:

    • data: 存储节点数据,这里使用整型 int
    • next: 指向下一个节点的指针,构成链表的链式结构。
  2. 插入数据函数 insertData:

    • 接收两个参数:
      • head: 指向链表头节点的指针的地址。
      • data: 要插入的数据。
    • 创建新节点,并将数据存储到新节点中。
    • 判断链表是否为空,为空则将新节点作为头节点。
    • 如果链表不为空,则遍历链表找到尾节点,并将新节点插入到尾节点的后面。
  3. 打印单链表函数 printList:

    • 接收一个参数:指向链表头节点的指针 head
    • 遍历链表,依次打印每个节点的数据。
  4. 主函数 main:

    • 创建一个空链表头指针 head
    • 调用 insertData 函数向链表中插入数据 10、20 和 30。
    • 调用 printList 函数打印链表中的数据。

总结:

这段代码示例展示了用 C 语言实现向单链表插入数据的基本操作。通过理解代码结构和逻辑,你可以更深入地理解单链表的数据结构,并为后续学习更复杂的操作打下基础。


原文地址: https://www.cveoy.top/t/topic/Hez 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录