Sorting algorithms/Quicksort: Difference between revisions

Content added Content deleted
(→‎{{header|Java}}: Now works with all Comparable types)
Line 233: Line 233:
{{trans|Python}}
{{trans|Python}}


<java>public static LinkedList<Integer> quickSort(LinkedList<Integer> arr){
<java>public static <E extends Comparable<E>> LinkedList<E> quickSort(LinkedList<E> arr){
LinkedList<Integer> less= new LinkedList<Integer>();
LinkedList<E> less= new LinkedList<E>();
LinkedList<Integer> pivotList= new LinkedList<Integer>();
LinkedList<E> pivotList= new LinkedList<E>();
LinkedList<Integer> more= new LinkedList<Integer>();
LinkedList<E> more= new LinkedList<E>();
if(arr.size() <= 1) return arr;
if(arr.size() <= 1) return arr;
int pivot= arr.getFirst(); //This pivot can change to get faster results
E pivot= arr.getFirst(); //This pivot can change to get faster results
for(int i: arr){
for(E i: arr){
if(i < pivot)
if(i.compareTo(pivot)<0)
less.add(i);
less.add(i);
else if(i > pivot)
else if(i.compareTo(pivot)>0)
more.add(i);
more.add(i);
else
else