|
package sort;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Random;
public class QuickSort extends SortMethod {
public static int RECURSION = 0;
@Override
RECURSION++;
System. out. println("I'm a quick sort! " + RECURSION + "° Recursion!");
if (pArray.length <= 1) {
return pArray;
} else {
Integer k = rand. nextInt(pArray. length);
Hashtable <Integer, Integer[]> divide = QuickSort. divide(pArray, pivot, k );
before = this.sort(before);
after = this.sort(after);
return QuickSort.getReturnValue(before, after, pivot);
}
}
int i = 0;
int before = 0;
int after = 0;
for (i = 0; i < pBefore.length; i++) {
retval[i] = pBefore[before];
before++;
}
retval[i] = pivot;
i++;
for (after = 0; after < pAfter.length; after++) {
retval[i] = pAfter[after];
i++;
}
return retval;
}
Hashtable <Integer, Integer[]> retval = new Hashtable <Integer, Integer[]>(2 );
ArrayList<Integer> before = new ArrayList<Integer>();
ArrayList<Integer> after = new ArrayList<Integer>();
for (int i = 0; i < pArray.length; i++) {
if (i != pK) {
if (pArray[i] < pivot) {
before.add(pArray[i]);
} else {
after.add(pArray[i]);
}
}
}
before.toArray(beforeArr);
after.toArray(afterArr);
retval.put(0, beforeArr);
retval.put(1, afterArr);
return retval;
}
}
|
|