gpt4 book ai didi

c - 交换链表中的节点?

转载 作者:行者123 更新时间:2023-11-30 16:31:30 25 4
gpt4 key购买 nike

我编写这个函数是为了交换链表中的 2 个节点,但结果是段错误。你能检查一下吗?谢谢。(我为 struct Student* 做了 typedef 作为平底船)

void swap_node(punt node1, punt node2)
{

node1->next=node2->next;
node2->next=node1;
node2->prev=node1->prev;
node1->prev=node2;
(node2->prev)->next=node2;

}

最佳答案

我想这就足够了,基本上与您的代码的唯一区别是最后一个语句(为简单起见,不包括空检查):

void swap_node(punt node1, punt node2)
{

node1->next=node2->next;
node2->next=node1;
(node1->prev)->next=node2;
node2->prev=node1->prev;
node1->prev=node2;
(node1->next)->prev=node1;

}

关于c - 交换链表中的节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50542465/

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