Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as Java by Daniel ( 16 years ago )
public abstract class QuickSort<T extends Comparable<T>> implements IQuickSort<T> {
public T[] sort(T[] elements) {
if(elements == null || elements.length == 0){
return (T[]) new Comparable[0];
}
return quickSort(elements,0,elements.length-1);
}
public T[] quickSort(T[] elements, int l, int r){
int i = l+1;
int j = r;
int p = getPivot(elements, l, r);
while(i <= j){
while(i <= j && (elements[i].compareTo(elements[p]) <= 0)){
i = i+1;
}
while(i <= j && (elements[j].compareTo(elements[p])) >= 0){
j = j-1;
}
if(i<j){
T temp = elements[i];
elements[i] = elements[j];
elements[j] = temp;
}
}
if(l<j){
T temp = elements[l];
elements[l] = elements[j];
elements[j] = temp;
quickSort(elements,l,j-1);
}
if(j<r){
quickSort(elements,j+1,r);
}
return elements;
}
}
Revise this Paste