[CareerCup] 11.4 Sort the File 文件排序

11.4 Imagine you have a 20 GB file with one string per line. Explain how you would sort the file.

这道题说给了我们一个20GB大小的文件,每行有一个字符串,让我们给文件内容排序。那么既然强调了这么大的一个文件,肯定不想让我们直接进入内存中,那么我们可以把大文件分块,每块xMB,其中x的大小为我们可用的内存大小,我们对每块分别排序,然后把所有的有序块进行合并,这样我们就能得到一个有序的文件了。

时间: 2024-11-06 04:53:36

[CareerCup] 11.4 Sort the File 文件排序的相关文章

sort命令:文件排序

sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort 语法 sort [-fbMnrtuk] [file or stdin] 选项与参数: -f  :忽略大小写的差异,例如 A 与 a 视为编码相同: -b  :忽略最前面的空格符部分: -M  :以月份的名字来排序,例如 JAN, DEC 等等的排序方法: -n  :使用『纯数字』进行排序(默认是以文字型态来排序的

【JavaScript】利用sort()函数与文件碎片实现表格的前端排序,兼容IE6原生态

表格排序在网页的应用也很多,尤其是一些信息系统输出一个密密麻麻的表格给人看,客户肯定会提出表格排序的要求.很多人定式思维地认为表格的排序一定要通过数据库后端进行交互,使用带order by asc/desc的语句去实现,然后再利用ajax似乎很完美似得.其实根本就不用与数据库打交道.在前端给出任意一个表格,都能够利用sort()函数与文件碎片实现表格的前端排序.在jquery里面是有一个advanceTable的插件做这件事,但是这个插件相当不好的是什么呢?与平常的插件一样,代码写得天花龙凤,没

Linux文件排序和FASTA文件操作

文件排序 seq: 产生一系列的数字; man seq查看其具体使用.我们这使用seq产生下游分析所用到的输入文件. # 产生从1到10的数,步长为1 $ seq 1 10 1 2 3 4 5 6 7 8 9 10 # 产生从1到10的数,步长为1,用空格分割 $ seq -s ' ' 1 10 1 2 3 4 5 6 7 8 9 10 # 产生从1到10的数,步长为2 # 如果有3个数,中间的数为步长,最后一个始终为最大值 $ seq -s ' ' 1 2 10 1 3 5 7 9 $ cat

Linux中sort和uniq关于排序去重的那些用法

相信在Linux下对文件操作经常会用到sort和uniq命令,下面系统的介绍一下这两个命令的用法. sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出.sort命令既可以从特定的文件,也可以从stdin中获取输入. 语法 sort(选项)(参数) 选项 -b:忽略每行前面开始出的空格字符: -c:检查文件是否已经按照顺序排序: -d:排序时,处理英文字母.数字及空格字符外,忽略其他的字符: -f:排序时,将小写字母视为大写字母: -i:排序时,除了040至176之间的A

文件排序及二分查找法与冒泡排序法

char *fputs(char *s, int n, FILE *fp)int fputs(char *s, FILE *fp)fgets正常时返回读取字符串的首地址,出错或文件尾,返回NULL.fputs正常时返回写入的最后一个字符,出错返回EOF. #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include <stdlib.h> #include <time.h> //文件排序 //内存排序 void ma

文件排序合并

文件排序: sort命令是帮我们根据不同的数据类型进行排序.其语法及经常使用參数格式: sort [选项][输入文件] 补充说明:sort可针对文本文件的内容,以行为单位来排序. 參 数: -b 忽略每行前面開始出的空格字符. -c 检查文件是否已经依照顺序排序. -f 排序时.忽略大写和小写字母. -M 将前面3个字母按照月份的缩写进行排序. -n 按照数值的大小排序. -o<输出文件> 将排序后的结果存入指定的文件. -r 以相反的顺序来排序. -t<分隔字符> 指定排序时所用

定制对ArrayList的sort方法的自定义排序

java中的ArrayList需要通过collections类的sort方法来进行排序 如果想自定义排序方式则需要有类来实现Comparator接口并重写compare方法 调用sort方法时将ArrayList对象与实现Commparator接口的类的对象作为参数 示例: // 外部类的方式 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.uti

Solr4.8.0源码分析(11)之Lucene的索引文件(4)

Solr4.8.0源码分析(11)之Lucene的索引文件(4) 1. .dvd和.dvm文件 .dvm是存放了DocValue域的元数据,比如DocValue偏移量. .dvd则存放了DocValue的数据. 在Solr4.8.0中,dvd以及dvm用到的Lucene编码格式是Lucene45DocValuesFormat.跟之前的文件格式类似,它分别包含Lucene45DocValuesProducer 和Lucene45DocValuesConsumer来实现该文件的读和写. 1 @Ove

File文件的解析,和编码

      java021 file讲解:文件和目录路径名的抽象表示形式 IO流操作的是数据,而数据一般是以文件的表现形式. File类:用来将文件或者文件夹封装成对象 方便对文件与文件夹的属性信息进行操作 file对象可以作为参数传递给流的构造函数 File类常见的方法: 1. 文件的创建: boolean createNewFile():在指定位置下创建文件,如果该文件已经存在,则不创建, 返回false.和输出流不一样,输出流对象一建立创建文件,而且文件已经存在. boolean mkdi