Heim >Web-Frontend >js-Tutorial >JavaScript implementiert eine schnelle Sortieranalyse

JavaScript implementiert eine schnelle Sortieranalyse

小云云
小云云Original
2018-01-11 09:06:271806Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn