【发布时间】:2014-12-04 03:56:46
【问题描述】:
我有一个充满随机字符串的文件,如下所示,我想从中间到开始和结束对文件进行排序。 如果总线是奇数,我想从中心线开始,然后是central-1,central+1,central-2,central+2。 如果总行数是偶数,我想从总行数/2的地板开始,反之亦然。
文件大约 100MB,我在 2G 内存的 VPS 上运行。
我可以在类unix平台下使用工具。我怎么做? 请让我知道是否有这种数字序列的名称。 谢谢。
-----------------BEFORE
line1
line2
line3
line4
line5
line6
line7
-----------------
-----------------AFTER
line4
line3
line5
line2
line6
line1
line7
-----------------
【问题讨论】:
-
sorted from the middle怎么样?这句话是什么意思? -
@EdMorton:我同意不清楚,但我认为排序输出中的第一行是中心行,第 4 行,然后是前面和后面的行 (3, 5),然后在 (2, 6) 的任一侧,最后是 (1, 7)。这是一种不寻常的类型!大概,如果有偶数行,比如 8 行,你会从 (4, 5) 开始,然后是 (3, 6),然后是 (2, 7),和 (1, 8)。
-
@Tienfu:输入总是按升序1、2、3,...?值是否连续(数字之间没有间隙)?您可以使用嵌入在行中的数字,还是必须通过行的初始位置?文件有多大?你能把所有的行都存进内存吗?
-
@JonathanLeffler 是的,看起来你是对的,谢谢!