Het QuickSort algoritme sorteert een lijst door een spil te kiezen, vervolgens de lijst te partitioneren in de elementen kleiner dan de spil en de elementen groter dan de spil, en tenslotte deze twee partities recursief te sorteren.

Opgave

Schrijf een klasse MySorter die de interface Sorter1 implementeert. Deze interface bevat een enkele methode void sort(List<Integer> list). Deze methode krijgt een lijst als parameter en sorteert die lijst intern. De methode moet dus geen nieuwe lijst aanmaken, en enkel elementen in de lijst omwisselen. Het sorteren moet met Quicksort gebeuren.

Voorbeelden

>>> Sorter solution = new MySorter();
>>> List<Integer> list = Arrays.asList(1,5,2,3,6,4,5,2,1,5,2,3);
>>> solution.sort(list);
solution = [1,1,2,2,2,3,3,4,5,5,5,6]

Referenties