【发布时间】:2013-05-06 12:02:21
【问题描述】:
我目前正在开发一个同时对字符串进行排序的程序。我的程序接收一个文件,将文件的每一行读入一个数组,然后将字符串数组拆分为更小的字符串数组。然后程序为每个较小的数组启动一个线程,并对它们进行快速排序。一旦每个线程完成对其数组的排序,主线程就会从线程对象中收集所有结果。然后应该将较小的、现已排序的数组合并为一个大的、已排序的数组。
我知道我的快速排序实现是有效的——程序使用一个线程对单词进行排序。我需要的是一种将线程返回的数组嵌套在一起的算法。
任何帮助表示赞赏 - 在此先感谢。
【问题讨论】:
-
如何在不考虑并行性的情况下合并 X 个已排序的数组
-
你的意思是你在子数组上运行一个标准的快速排序然后你需要一种方法来最终合并它们?
-
@esseks:这正是我的意思,谢谢。有什么想法吗?
-
只需查看所有 X 数组,选择最小的项,然后将其从找到的数组中删除。重复。
-
谢谢Thorbjørn,我会努力做到的。不过,我仍然不太确定如何编写代码。
标签: java sorting concurrency