我目前正在研究合并排序算法。我有三个功能。 list_sort_merge、mergelist 和 splitlist。 list_sort_merge 调用其他两个来拆分和合并列表。我无法让它正常工作。 所以当我运行 GDB 时发生的是我通过拆分函数并单独获取每个数字,例如以下示例:
427
42.7
4.2.7
然后出现合并排序并出现段错误。发生的事情是 right_list 和 left_list 没有被传递给合并排序。意思是当 mergesort 在函数 comp_proc 中进行比较时,它说它们都是 NULL。
我认为问题出在 split 函数上。
谁能看出我在这里做错了什么?
最佳答案
解释如下: http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html
和示例代码: http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.c
关于c - 使用 mergesort 对链表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19016840/