gpt4 book ai didi

有效地创建一个新的排序文件,其中包含连续数字的旧未排序文件的内容

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

我有一个包含无序字符串序列的文件(从 0 到 n)我需要按顺序创建一个包含字符串的新文件原始文件示例
4asaa 1b 0z 2ca 3m < br/>新文件将包含相同的数据,但按顺序排列(根据编号)
0z 1b 2ca 3m 4asaa
我试图找到一种算法来有效地完成它,但我没有任何有效的想法,因为它是 c 语言我试图尽量减少对文件的操作量(因为它非常慢),但如果你有任何使用大量文件操作的好主意随时分享。
长话短说,我正在寻找一种有效的方法。

谢谢大家

最佳答案

如果您的文件足够小以适合内存 - 只需将其加载到 RAM 中,使用任何 sorting algorithm that suits you 在 RAM 中对其进行排序,并将排序后的数组写入新文件。这只需要 2n 个磁盘操作(n 写入和 n 读取)。

如果您的文件太大而无法放入内存,请使用 external sort (这基本上是 merge sort 的变体)以最少的磁盘搜索次数对文件进行排序。

关于有效地创建一个新的排序文件,其中包含连续数字的旧未排序文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30887677/

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