Heim  >  Artikel  >  Web-Frontend  >  So implementieren Sie eine schnelle Sortierung mit JavaScript (ausführliches Tutorial)

So implementieren Sie eine schnelle Sortierung mit JavaScript (ausführliches Tutorial)

亚连
亚连Original
2018-06-12 17:00:421460Durchsuche

Dieser Artikel stellt hauptsächlich die Methode von JavaScript zur Implementierung der Schnellsortierung vor und analysiert die Prinzipien, Implementierungsmethoden und zugehörigen Betriebsvorkehrungen der Schnellsortierung in Form von Beispielen

Die Beispiele in diesem Artikel beschreiben, wie die schnelle Sortierung in JavaScript implementiert wird. Teilen Sie es als Referenz mit allen:

Ideologie:

Verwenden Sie die Divide-and-Conquer-Idee und die rekursive Methode Zerlegen Sie die Daten nacheinander in kleinere und größere Elemente.

1 Wählen Sie ein Element im Array als Benchmark aus.

2 Der Benchmark wird nach links vom Benchmark verschoben. 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 Es bleibt nur ein Element in allen Teilmengen übrig

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));

Das Obige habe ich für alle zusammengestellt an alle in der Zukunft.

Verwandte Artikel:

Detaillierte Interpretation von Elementen, Komponenten, Instanzen und Knoten in React

So fügen Sie Daten dynamisch in AngularJS hinzu und löschen?

Welche Wissenspunkte des strikten JS-Modus werden im Detail erläutert?

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine schnelle Sortierung mit JavaScript (ausführliches Tutorial). 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