c - 使用 mergesort 对链表进行排序

标签 c algorithm linked-list mergesort

我目前正在研究合并排序算法。我有三个功能。 list_sort_merge、mergelist 和 splitlist。 list_sort_merge 调用其他两个来拆分和合并列表。我无法让它正常工作。 所以当我运行 GDB 时发生的是我通过拆分函数并单独获取每个数字,例如以下示例:

427
42.7
4.2.7

然后出现合并排序并出现段错误。发生的事情是 right_list 和 left_list 没有被传递给合并排序。意思是当 mergesort 在函数 comp_proc 中进行比较时,它说它们都是 NULL。

我认为问题出在 split 函数上。

谁能看出我在这里做错了什么?

最佳答案

关于c - 使用 mergesort 对链表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19016840/

相关文章:

c++ - 替换链表头的问题

java - Java 链表中的最小元素

c - 使用多线程时保护全局变量

C 数组赋值使用大括号语法

c - 修改字符串(字符数组)

algorithm - 直径为 k< |V| 的连通加权有向图,求最短路径

java - HmacSHA1 使用相同的 secret 在不同的系统上生成不同的签名

c - 是否可以在运行时将 Cert.der 和 key.der 写入内部闪存 EEprom 中?我用的是stm32

algorithm - 确定两个节点之间的路径时没有负循环

c - 试图从c中的双链表中删除一个元素