gpt4 book ai didi

C - 在插入时对链表进行排序

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

我希望获得一些帮助,了解如何在插入时实现排序链表?下面是一个 addItem 函数,可以选择在列表的开头或末尾添加。例如,是否可以根据 var.number; 中给出的值进行插入(从而排序)?

struct structName {
int number;
int number2;
char aString;
struct structName *next;
};

struct structName *head = NULL;
struct structName *curr = NULL;
struct structName *element = NULL;

struct Struct var;

struct structName* addItem(struct structName var, bool appendList) {

struct structName *pointer = (struct structName*)malloc(sizeof(struct structName));

pointer->someString = var.aString;
pointer->aNumber = var.number2;
pointer->anotherNumber = var.number;
pointer->next = NULL;

if(appendList) {
curr->next = pointer;
curr = pointer;
}
else {
pointer->next = head;
head = pointer;
}

return pointer;
}

最佳答案

很简单。如果你想插入到排序列表中。然后在插入列表之前,您必须遍历列表,直到到达列表末尾或找到大于当前列表值的节点值。然后插入您的列表。

关于C - 在插入时对链表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33595804/

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