1879 |
|
this.left = left; this.right = right; this.merger = merger; |
1880 |
|
} |
1881 |
|
public void compute() { |
1882 |
< |
invokeAll(left, right); |
1882 |
> |
right.fork(); |
1883 |
> |
left.invoke(); |
1884 |
> |
right.join(); |
1885 |
|
merger.invoke(); |
1886 |
|
} |
1887 |
|
} |
2348 |
|
else break; |
2349 |
|
} |
2350 |
|
|
2351 |
< |
oquickSort(a, cmp, lo, left); |
2352 |
< |
lo = left + 1; |
2351 |
> |
if (left - lo <= hi - right) { |
2352 |
> |
oquickSort(a, cmp, lo, left); |
2353 |
> |
lo = left + 1; |
2354 |
> |
} |
2355 |
> |
else { |
2356 |
> |
oquickSort(a, cmp, right, hi); |
2357 |
> |
hi = left; |
2358 |
> |
} |
2359 |
|
} |
2360 |
|
} |
2361 |
|
|
2400 |
|
else break; |
2401 |
|
} |
2402 |
|
|
2403 |
< |
ocquickSort(a, lo, left); |
2404 |
< |
lo = left + 1; |
2403 |
> |
if (left - lo <= hi - right) { |
2404 |
> |
ocquickSort(a, lo, left); |
2405 |
> |
lo = left + 1; |
2406 |
> |
} |
2407 |
> |
else { |
2408 |
> |
ocquickSort(a, right, hi); |
2409 |
> |
hi = left; |
2410 |
> |
} |
2411 |
|
} |
2412 |
|
} |
2413 |
|
|
2452 |
|
else break; |
2453 |
|
} |
2454 |
|
|
2455 |
< |
dquickSort(a, cmp, lo, left); |
2456 |
< |
lo = left + 1; |
2455 |
> |
if (left - lo <= hi - right) { |
2456 |
> |
dquickSort(a, cmp, lo, left); |
2457 |
> |
lo = left + 1; |
2458 |
> |
} |
2459 |
> |
else { |
2460 |
> |
dquickSort(a, cmp, right, hi); |
2461 |
> |
hi = left; |
2462 |
> |
} |
2463 |
|
} |
2464 |
|
} |
2465 |
|
|
2504 |
|
else break; |
2505 |
|
} |
2506 |
|
|
2507 |
< |
dcquickSort(a, lo, left); |
2508 |
< |
lo = left + 1; |
2507 |
> |
if (left - lo <= hi - right) { |
2508 |
> |
dcquickSort(a, lo, left); |
2509 |
> |
lo = left + 1; |
2510 |
> |
} |
2511 |
> |
else { |
2512 |
> |
dcquickSort(a, right, hi); |
2513 |
> |
hi = left; |
2514 |
> |
} |
2515 |
|
} |
2516 |
|
} |
2517 |
|
|
2556 |
|
else break; |
2557 |
|
} |
2558 |
|
|
2559 |
< |
lquickSort(a, cmp, lo, left); |
2560 |
< |
lo = left + 1; |
2559 |
> |
if (left - lo <= hi - right) { |
2560 |
> |
lquickSort(a, cmp, lo, left); |
2561 |
> |
lo = left + 1; |
2562 |
> |
} |
2563 |
> |
else { |
2564 |
> |
lquickSort(a, cmp, right, hi); |
2565 |
> |
hi = left; |
2566 |
> |
} |
2567 |
|
} |
2568 |
|
} |
2569 |
|
|
2608 |
|
else break; |
2609 |
|
} |
2610 |
|
|
2611 |
< |
lcquickSort(a, lo, left); |
2612 |
< |
lo = left + 1; |
2611 |
> |
if (left - lo <= hi - right) { |
2612 |
> |
lcquickSort(a, lo, left); |
2613 |
> |
lo = left + 1; |
2614 |
> |
} |
2615 |
> |
else { |
2616 |
> |
lcquickSort(a, right, hi); |
2617 |
> |
hi = left; |
2618 |
> |
} |
2619 |
|
} |
2620 |
|
} |
2621 |
|
|