Video: Week 4 2025
En av de mest brukte sorteringsteknikkene i Java kalles Quicksort-teknikken. Det er en fin måte å håndtere rekursjon på. Den faktiske koden som kjører en Quicksort-rutine, er overraskende enkel:
offentlig statisk tomromtype (int lav, int høy) {hvis (lav> = høy) retur; int p = partisjon (lav, høy); sortere (lav, p); sorter (p + 1, høy);}
Denne metoden sorterer delen av en matrise som er angitt av de lave og høye indeksverdiene som sendes til den. Ignorerer if-setningen for nå, fungerer sorteringsmetoden ved å ringe en partisjonsmetode. Denne metoden omarrangerer arrayet i to partisjoner, slik at alle verdiene i venstre partisjon er mindre enn alle verdiene i den høyre partisjonen.
Partisjonmetoden returnerer indeksen til slutten av venstre partisjon. Så kalles typen metode to ganger: en gang for å sortere venstre partisjon og igjen for å sortere riktig partisjon.
For å få sorteringsmetoden startet, kaller du den med 0 som lavverdien og array lengden og 1 som høyverdien. Således begynner sorteringsmetoden ved å sortere hele gruppen. Hver gang sorteringsmetoden kjøres, kaller det seg to ganger for å sortere mindre partisjoner av arrayet.
Hvis setningen i begynnelsen av sorteringsmetoden sammenligner den lave verdien med høyverdien. Hvis den lave verdien er lik eller høyere enn høyverdien, har partisjonen bare ett element (eller kanskje ingen elementer) og er derfor allerede sortert. I så fall returnerer sorteringsmetoden uten å kalle seg igjen. Det er tilstanden som slutter rekursjonen.
