gpt4 book ai didi

c - 插入链表

转载 作者:太空宇宙 更新时间:2023-11-04 02:06:51 25 4
gpt4 key购买 nike

我仍在学习链表,并一直在尝试创建一种插入链表的方法。

我只想知道这样的插入方式是否正确?另外,我将如何打印整个链接列表,以便它打印类似 abc 的内容。

这是我所拥有的:

struct node {
char value;
struct node *next;
};

typedef struct node item;

void main() {
InsertChar('a');
InsertChar('b');
InsertChar('c');
}

void InsertChar(char s) {
item *curr, *head;

head = NULL;

curr = (item *)malloc(sizeof(item));
curr->value = s;
curr->next = head;
head = curr;

while(curr) {
printf("%c\n", curr->value);
curr = curr->next;
}
}

最佳答案

首先,您的函数 InsertChar 每次都会覆盖 head 的值 (head = curr),因此您将结束列出一个项目。

你需要声明一些东西来存储head

struct list
{
struct node *head;
};

现在您可以通过遍历每个节点轻松打印您的列表

void PrintList(struct list* list)
{
struct node *curr = list->head;

while (curr != NULL)
{
printf("%c\n", curr->value);
curr = curr->next;
}
}

现在您需要修改 InsertChar 以便列表中的最后一项(您将如何找到它?)指向您的新项目。我会把它留给你:)

关于c - 插入链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19749873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com