【发布时间】:2017-12-13 15:47:06
【问题描述】:
如何使用并行合并进行并行合并排序?我在互联网上没有找到任何伪代码,我只知道如何通过为左右生成两个线程来并行化合并排序的第一部分,但是如何并行化合并?这是我需要并行化的合并代码。
public static int[] merge(int[] left, int[] right, int[] array) {
int i = 0;
int j = 0;
int k = 0;
while (i < left.length && j < right.length) {
if (left[i] <= right[j]) {
array[k] = left[i];
i++;
}
else {
array[k] = right[j];
j++;
}
k++;
}
while (i < left.length) {
array[k] = left[i];
i++;
k++;
}
while (j < right.length) {
array[k] = right[j];
j++;
k++;
}
return array;
【问题讨论】:
标签: multithreading algorithm sorting parallel-processing mergesort