gpt4 book ai didi

c - 有没有更简单的方法来创建具有给定结构的链表?

转载 作者:太空宇宙 更新时间:2023-11-04 07:57:00 29 4
gpt4 key购买 nike

<分区>

我尝试用 for 循环来做,但没有成功。这是我当前的实现,它创建了一个包含 6 个元素的链表,但我确信有一种方法可以用循环来完成它,因为我的代码非常乏味。

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

int main(void) {
typedef struct _node {
int data;
struct _node * next;
} node_t;

typedef struct {
node_t * head;
node_t * tail;
} LL_t;

LL_t* L = malloc(sizeof(LL_t));

L->head=malloc(sizeof(node_t));
L->head->data=0;

L->head->next=malloc(sizeof(node_t));
L->head->next->data=1;

L->head->next->next=malloc(sizeof(node_t));
L->head->next->next->data=2;

L->head->next->next->next=malloc(sizeof(node_t));
L->head->next->next->next->data=3;

L->head->next->next->next->next=malloc(sizeof(node_t));
L->head->next->next->next->next->data=4;

L->head->next->next->next->next->next=malloc(sizeof(node_t));
L->head->next->next->next->next->next->data=5;

L->head->next->next->next->next->next->next=NULL;
L->tail=L->head->next->next->next->next->next;

return 0;
}

我的 for 循环不起作用。

node_t* cur = L->head;
for (int i = 0; i < 6; i++) {
cur = malloc(sizeof(node_t));
cur->data = i;
printf("%d\n", cur->data);
if (i == 5) {
cur->next = NULL;
L->tail = cur;
break;
}
cur = cur->next;
}

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