使用JavaParallel进行快速排序
我需要知道如何使用使用JavaParallel进行快速排序,java,parallel-processing,Java,Parallel Processing,我需要知道如何使用JavaParallel并行化快速排序算法的以下代码,或者我推荐一些algortimo热点来并行化它 public void quickSort (ArrayList<ParElementoValor> paresValores, int begin, int end){ if (begin < end) { int partitionIndex = partition(paresValores, begin, end);
JavaParallel
并行化快速排序算法的以下代码,或者我推荐一些algortimo热点来并行化它
public void quickSort (ArrayList<ParElementoValor> paresValores, int begin, int end){
if (begin < end) {
int partitionIndex = partition(paresValores, begin, end);
quickSort(paresValores, begin, partitionIndex-1);
quickSort(paresValores, partitionIndex+1, end);
}
}
private int partition(ArrayList<ParElementoValor> paresValores, int begin, int end) {
ParElementoValor pivot = paresValores.get(end);
int i = (begin-1);
for (int j = begin; j < end; j++) {
if (paresValores.get(j).getSuma() > pivot.getSuma()) {
i++;
ParElementoValor swapTemp = paresValores.get(i);
paresValores.set(i, paresValores.get(j));
paresValores.set(j, swapTemp);
}
}
ParElementoValor swapTemp = paresValores.get(i+1);
paresValores.set(i+1, paresValores.get(end));
paresValores.set(end, swapTemp);
return i+1;
}
public void快速排序(ArrayList paresValores,int begin,int end){
如果(开始<结束){
int partitionIndex=分区(paresValores、begin、end);
快速排序(paresValores、begin、partitionIndex-1);
快速排序(paresValores,分区索引+1,结束);
}
}
私有int分区(ArrayList paresValores、int begin、int end){
ParElementoValor pivot=paresValores.get(结束);
int i=(begin-1);
对于(int j=begin;jpivot.getSuma()){
i++;
ParElementoValor swapTemp=paresValores.get(i);
paresValores.set(i,paresValores.get(j));
paresValores.set(j,swapTemp);
}
}
ParElementoValor swapTemp=paresValores.get(i+1);
paresValores.set(i+1,paresValores.get(end));
paresValores.集合(结束,交换);
返回i+1;
}
您可以使用与此类问题完全匹配的ForkJoinPool
有很多例子,例如
您可以使用与此类问题完全匹配的ForkJoinPool
有很多例子,例如
我必须使用的技术是JavaParallel什么是JavaParallel
?你能给我一个链接吗?我想你应该从ParallelTeam
开始,它是线程池,ParallelSection
是一个需要同时执行的工作。我必须使用的技术是JavaParallel什么是JavaParallel
?你能给我一个链接吗?我想你应该从ParallelTeam
开始,它是线程池,ParallelSection
是一个需要同时执行的工作,顺便说一句,它是ParallelJava
不是JavaParallel