【问题标题】:Best sort algorithm that can be used for sorting linked list using structures in c [closed]可用于使用 c 中的结构对链表进行排序的最佳排序算法 [关闭]
【发布时间】:2018-05-13 11:30:35
【问题描述】:

可用于使用 c 中的结构对链表进行排序的最佳排序算法,其中出错的可能性最小(例如分段)?

【问题讨论】:

  • 任何正确实施的排序算法,根据定义,都不会出现这样的错误。如果您正在寻找一种不可能不正确实现的排序算法,那么没有这样的事情。
  • Quoute: "... 获得指针相关错误的可能性最小" 嗯,这将是一个算法改变指针,但交换了指向的值。然而,这将(在大多数情况下)是一件相当奇怪的事情。

标签: c data-structures linked-list


【解决方案1】:

做到这一点并避免错误的最简单方法是创建一个新列表,然后遍历原始列表,并在每次迭代中找到最小/最大元素并将其附加到新列表的开头/结尾,然后将其从原始列表中删除。这具有 O(n^2) 的时间复杂度,所以如果你想要更快的东西,你应该研究合并排序,这(在我看来)是链表的最佳排序算法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-16
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-11
    相关资源
    最近更新 更多