Dieser Artikel stellt hauptsächlich die Methode zur Implementierung der Schnellsortierung in JavaScript vor. Er analysiert das Prinzip, die Implementierungsmethode und die damit verbundenen Betriebsvorkehrungen in Form von Beispielen. Ich hoffe, dass er allen helfen kann .
Ideologie:
Verwenden Sie die Divide-and-Conquer-Idee und die rekursive Methode, um die Daten in verschiedene Teilsequenzen zu zerlegen, die kleinere und größere Elemente enthalten .
1. Wählen Sie ein Element im Array als Benchmark aus.
2. Elemente, die kleiner als der Benchmark sind, werden nach links vom Benchmark verschoben und Elemente, die größer als der Benchmark sind werden nach rechts vom Benchmark verschoben
3. Wiederholen Sie die ersten beiden Schritte für die beiden Teilmengen links und rechts vom Benchmark, bis in allen Teilmengen nur noch ein Element übrig ist
Implementierungscode:
function sqort(arr){ if(arr.length===0){ return []; } var left=[]; var right=[]; var pivot=arr[0];//(基准以首元素) for(var i=1;i<arr.length;i++){ if(arr[i]<pivot){ left.push(arr[i]); }else{ right.push(arr[i]); } } return sqort(left).concat(pivot,qsort(right));//递归 } var a=[]; for (i=0;i<10;++i){ a[i]=Math.floor(Math.random()*100+1); } console.log(a); console.log(sqort(a)); //(基准以中间元素的情况) function sqort(arr){ if(arr.length<=1){ return arr; } var left=[]; var right=[]; var pivotIndex=Math.floor(arr.length/2); var pivot=arr.splice(pivotIndex,1)[0];//(基准以中间元素) for(var i=1;i<arr.length;i++){ if(arr[i]<pivot){ left.push(arr[i]); }else{ right.push(arr[i]); } } return sqort(left).concat(pivot,sqort(right));//递归 } var a=[12,34,23,78,34,26]; console.log(a); console.log(sqort(a));
Hinweis: Rufen Sie die Funktion sqort()
rekursiv für kleinere Arrays auf bzw. größere Arrays, wenn die Rekursion endet. Zu diesem Zeitpunkt wird das kleinere Array mit der Basis und dem größeren Array verkettet, um das endgültige geordnete Array zu bilden, und zurückgegeben.
Verwandte Empfehlungen:
Beispiel für die PHP-Implementierung einer Schnellsortiermethode
Beispiel für die PHP-Implementierung eines zweidimensionalen Arrays Schnellsortierungsalgorithmus
So implementieren Sie die Schnellsortierung
Das obige ist der detaillierte Inhalt vonJavaScript implementiert eine schnelle Sortieranalyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!