大量数据的排序,应聘的一个题目,该如何解决

大量数据的排序,应聘的一个题目
前几天参加一个公司的招聘,笔试题的最后一道题目是:
A文件中最多有n个正整数,而且每个数均小于n,n <=10的七次方。不会出现重复的数。
要求对A文件中的数进行排序,可用内存为1M,磁盘可用空间足够。
我考虑的是把这个文件的记录分割成x个小块的文件(足够小到1M的内存可以处理)然后调入内存使用快速排序对这x个小文件里面的记录排序,最后再把这些小的文件归并。
后来面试的时候hr问能不能够在10秒时间内搞定,我以前没有做过这样的外排序,只能说不知道。
请问各位大虾,这个问题能够在10s内搞定吗?如果可以,是应该怎么做的?

------解决方案--------------------
这不是编程珠玑里面的题吗。
你可以用位图。bitmap.
------解决方案--------------------
建M(依据N的大小)个新文件,使每个文件可以用内排序且不超出内存限制;
读原文件一次,分别放入不同的文件中,比如:

第一个文件保存(1,N/M)之间的数字;
第二个文件保存(N/M+1,2*N/M)之间的数字;
.....
第M个文件保存(N-N/M,N)之间的数字;

分别对1到M个文件排序,再依次从1到M个文件读取数据写入新的文件既可;