Мне нужно знать, как распараллелить следующий код quickSort sorting algorithm
, используя JavaParallel
, или я рекомендую некоторые горячие точки алгоритма для его распараллеливания
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;
}