gpt4 book ai didi

c - C 中的链表示例

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

我在教科书中找到的关于在 C 中使用链表的示例遇到了一些问题。

startlist 是一个 int 值的链接列表,这段代码应该检查每个 int 值并将其放入 lowlist (如果小于 X)或 highlist(如果大于 X)。

while(startList != NULL){
if (startList->value < X){
tempList = (List) malloc(sizeof(Item));
tempList->value = startList->value;
tempList->next = lowList; lowList = tempList;
}
else{
tempList = (List) malloc(sizeof(Item));
tempList->value = startList->value;
tempList->next = highList; highList = tempList;
}
startList = startList->next;
}

我不明白这些行:

        lowList = tempList;

        highList = tempList;

为什么它们是必要的?

最佳答案

显然,lowListhighList 分别包含链表的最低和最高节点。

线条

tempList->next = lowList;

tempList->next = highList;

tempList 的下一个元素分别设置为最低和最高元素。

您正在讨论的行将 tempList 设置为新的最低/最高节点。 tempList 现在是第一个/最后一个元素,指向旧的头/尾。

整个循环是以排序的方式将新节点添加到链表中。

关于c - C 中的链表示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35012866/

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