gpt4 book ai didi

c - 合并排序算法的堆栈溢出

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:10:17 25 4
gpt4 key购买 nike

我正在尝试按年订购一个包含 577000 行的文件。我将哪一行的信息放在双向链表中。为了排序文件,我尝试实现归并排序算法,但由于该算法在排序大量信息时是递归的,因此由于堆栈内存溢出,该算法无法正常工作。有人可以帮助尝试找到一种不会崩溃且不会花费太长时间的更有效的算法吗?

来自评论:

日期范围从 1730 年到 2013 年

最佳答案

您不需要复杂的排序。鉴于您只需要涵盖大约 300 个不同的年份,这就是我要做的。

制作一个链表的array[300]。索引 0 是 1730 年的链表。索引 1 是 1731 年的链表。

现在,当您从文件中读取一个新条目时,您可以通过从读取的年份中减去 1730 来找到数组索引。然后将该元素添加到该索引处的链表。

读取整个文件后,将所有链表放在一起成为一个从索引 0 开始的链表。

现在您有一个按年份排序的链表。

关于c - 合并排序算法的堆栈溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50438226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com