单链表直接插入排序

将单链表按照递增排序

点击查看代码
void inorder(linklist &l)
{
    lnode *p = l->next, *r, *q;
    // 摘下头结点作为有序表
    l->next = nullptr;
    while (p)
    {
        // r和p遍历无序表
        r = p;
        p = p->next;
        // q遍历有序表,找出无序表中的元素在有序表中插入的位置
        q = l;
        while (q->next != nullptr && q->next->data <= r->data)
        {
            q = q->next;
        }
        // 插入元素
        r->next = q->next;
        q->next = r;
    }
}
上一篇:ICPC20南京D-贪心结论+大模拟


下一篇:LeetCode系列2—两数相加