这个啊,别说你自己实现,恐怕让微软,oracle,sun,ibm这些拥有者世界上最牛的设计人员。或者让贝尔实验室的人去弄,都未必能弄好了。

解决方案 »

  1.   

    假设:待排序的是一个超大数组array[1-30000]把它分割成小块(假定3块):array[1-10000], array[10001-20000], array[20001-30000]每个服务器对一个小块排序所有的服务器都完成后,开始读取结果:第一次从几个服务器读取各自的第一组结果:array[1], array[10001], array[20001],
    假定数值{34, 54, 49}
    写入第一个结果34(因为它最小)然后从服务器1读下一个数补充,假定结果变为{100, 54, 49}
    写入第二个结果54(最小)
    然后从服务器2读下一个数补充......(反复)直到服务器1-3数据全部被读完,结束。