Cependant, de nombreux livres ne l'expliquent pas très clairement et différents matériels pédagogiques ont des méthodes de mise en œuvre différentes.
Je vais écrire ici l’idée de tri rapide la plus simple pour votre référence.
J'espère que quelle que soit la langue que vous utilisez, vous pourrez facilement comprendre les idées de tri rapide et les méthodes d'écriture à partir de ce code simple.
Copiez le code comme suit :
function quick_sort(liste, début, fin) {
si (début < fin) {
var pivotpos = partition(list, start, end); //Trouver la base du tri rapide
quick_sort(list, start, pivotpos - 1); //Tri rapide celui de gauche
quick_sort(list, pivotpos + 1, end); //Tri rapide du bon
}
}
//Ajustez une séquence en deux zones divisées par le numéro de base, un côté n'est pas inférieur au numéro de base et l'autre côté n'est pas supérieur au numéro de base
partition de fonction (liste, début, fin) {
var pivotpos = début;
var pivot = liste[début];
var tmp;
for(var i = début + 1; i <= fin; i ++) {
if (liste[i] < pivot) {
tmp = liste[i];
pivotpos += 1 ;
liste[i] = liste[pivotpos];
liste[pivotpos] = tmp;
}
}
tmp = liste[début];
liste[début] = liste[pivotpos];
liste[pivotpos] = tmp;
retourner les pivotpos ;
}
var liste = [8,2,4,65,2,4,7,1,9,0,2,34,12];
quick_sort(liste, 0, liste.longueur);