diff --git a/include/elm/data/quicksort.h b/include/elm/data/quicksort.h index cc2a1fbb20c552b41c02901e641028028494a6a5..e3166e5cbc0e2a1c22b0986647d72a879d660623 100644 --- a/include/elm/data/quicksort.h +++ b/include/elm/data/quicksort.h @@ -38,8 +38,8 @@ void quicksort(A& array, const C& c = Comparator<typename A::t>()) { if(L < R) { piv = array[L]; while(L < R) { - while(c.doCompare(array[R], piv) >= 0 && L < R) R--; if(L < R) array[L++] = array[R]; - while(c.doCompare(array[L], piv) <= 0 && L<R) L++; if (L < R) array[R--] = array[L]; + while(c.compare(array[R], piv) >= 0 && L < R) R--; if(L < R) array[L++] = array[R]; + while(c.compare(array[L], piv) <= 0 && L<R) L++; if (L < R) array[R--] = array[L]; } array[L] = piv; beg[i+1] = L+1; end[i+1] = end[i]; end[i++] = L; if(end[i] - beg[i] > end[i-1] - beg[i-1]) {