按字母顺序插入链接列表

时间:2018-08-19 02:57:39

标签: c list struct linked-list alphabetical

我被要求在C中按字母顺序插入到链表中,问题是我似乎无法真正按字母顺序获得该列表。我认为链接列表代码可能存在一些问题。我已经为此工作了好几天,但似乎还是无法解决。任何帮助表示赞赏:)

ps位于前面只是一个函数,它告诉您当前的学生姓名是否应该在所讨论的其他姓名之前。它用作布尔值,但不是1和0,而是true和false。

Student* insert(Student* student, Student* list)
{
    Student* current;

    if (list == NULL || (precedes(student->name, list->name) > 0)) {
        student->next = list;
        list = student;
    } else {
        current = list;
        while(current->next != NULL && (precedes(current->name, student->name) > 0)) {
            current= current->next;
        }
        student->next = current->next;
        current->next = student;

    }
    return list;
}

1 个答案:

答案 0 :(得分:0)

好,所以我借助NominalAnimal对其进行了修复。

发生了什么事

while(current->next != NULL && (precedes(current->name, student->name) > 0)) {

我应该一直将该学生的名字与列表中的下一个学生进行比较,而不是当前的名字。

欢呼