一只超大的甲鱼 发表于 2022-12-23 20:52:22

刚学的链表,求个示范

1、输入字符a至f,按输入字符的顺序建立一个字符结点(每个结点存储一个字符)的单向链表,输出该链表中的字符,并释放链表结点所占用的空间。

傻眼貓咪 发表于 2022-12-23 21:17:59

#include <stdio.h>
#include <malloc.h>

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

void show(Node* head) {
        if (!(head)) {
                return;
        }
        show(head->next);
        printf("%c ", head->data);
}

void freeAll(Node** head) {
        Node* p;
        while (*head) {
                p = *head;
                *head = (*head)->next;
                free(p);
        }
        free(*head);
}

int main(void) {
        Node* head, * tail = head = NULL;
        char string = "abcdef"; // 字符 a 至 f
        int i = 0;

        // 按输入字符的顺序建立一个字符结点(每个结点存储一个字符)的单向链表
        while (string) {
                tail = head;
                head = (Node*)malloc(sizeof(Node));
                if (head) {
                        head->data = string;
                        head->next = tail;
                }
        }

        // 输出该链表中的字符
        show(head);

        // 释放链表结点所占用的空间
        freeAll(&head);
        return 0;
}
页: [1]
查看完整版本: 刚学的链表,求个示范