拆分随机链表然后对它们进行排序

时间:2013-09-25 06:13:51

标签: c algorithm merge linked-list mergesort

我目前正在尝试将链表拆分为两个,然后对这两个列表进行排序。在这样做之后,我试图将它们再次合并到一个大的列表中。

1 个答案:

答案 0 :(得分:1)

无论你做什么,你都应该检查“未知”指针,看看它们是否为NULL,然后根据它做出决定。

所以在你的情况下,你可以添加如下内容:

if (temp == NULL)
{
    // End of list action
}
else
{
    left_list -> tail = temp -> prev; etc...
}

你真的应该为你将要从指针中分配值的所有地方执行此操作。如果将这种检查包含在您的设计中,您将被迫处理列表空/结尾的情况,并且设计将更易于管理并且更易于解码。