Heim > Web-Frontend > js-Tutorial > Teilen mehrerer gängiger Sortiercodes in JS

Teilen mehrerer gängiger Sortiercodes in JS

零到壹度
Freigeben: 2018-03-20 11:27:08
Original
1485 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die spezifischen Schritte und zugehörigen Bedienungsfähigkeiten mehrerer gängiger JS-Sortiercodes vorgestellt. Ich hoffe, dass er allen helfen kann.

4.2.1 Blasensortierung
Einführung in den Algorithmus
Analyse:
Vergleichen Sie zwei benachbarte Elemente, wenn das vorherige vorhanden ist größer als der letzte, werden die Positionen vertauscht.
Das letzte Element sollte das größte in der ersten Runde sein.
Vergleichen Sie zwei benachbarte Elemente gemäß Schritt 1. Da das letzte Element bereits das größte ist, besteht zu diesem Zeitpunkt keine Notwendigkeit, das letzte Element zu vergleichen.

JS-Code-Implementierung

function bubble_sort(arr){
  for(var i=0;i<arr.length-1;i++){
    for(var j=0;j<arr.length-i-1;j++){
      if(arr[j]>arr[j+1]){
        var swap=arr[j];
        arr[j]=arr[j+1];
        arr[j+1]=swap;
      }
    }
  }
}
var arr=[3,1,5,7,2,4,9,6,10,8];
bubble_sort(arr);
console.log(arr);
Nach dem Login kopieren

4.2.2 Schnelle Sortierung
JS-Code-Implementierung
Analyse: schnell Die Sortierung ist eine Verbesserung gegenüber der Blasensortierung. Im ersten Sortierdurchgang werden die Daten in zwei Teile geteilt, wobei ein Teil kleiner ist als alle Daten im anderen Teil. Rufen Sie es dann rekursiv auf und führen Sie eine schnelle Sortierung auf beiden Seiten durch.

function quick_sort(arr){
  if(arr.length<=1){
    return arr;
  }
  var pivotIndex=Math.floor(arr.length/2);
  var pivot=arr.splice(pivotIndex,1)[0];
  var left=[];
  var right=[];
  for(var i=0;i<arr.length;i++){
    if(arr[i]<pivot){
      left.push(arr[i]);
    }else{
      right.push(arr[i]);
    }
  }
  return quick_sort(left).concat([pivot],quick_sort(right));
}
var arr=[5,6,2,1,3,8,7,1,2,3,4,7];
console.log(quick_sort(arr));
Nach dem Login kopieren

4.2.3 Einfügungssortierung
Einführung in den Algorithmus
Analyse:
Ausgehend vom ersten Element, dem The Element kann als sortiert betrachtet werden
Nehmen Sie das nächste Element und scannen Sie die Reihenfolge der sortierten Elemente von hinten nach vorne
Wenn das Element (sortiert) größer als das neue Element ist, verschieben Sie das Element an die nächste Position
Wiederholen Sie Schritt 3, bis Sie die Position gefunden haben, an der das sortierte Element kleiner oder gleich dem neuen Element ist.
Fügen Sie das neue Element an der nächsten Position ein.
Wiederholen Sie Schritt 2.

js-Code-Implementierung

function insert_sort(arr){
  var i=1,
  j,key,len=arr.length;
  for(;i<len;i++){
    var j=i;
    var key=arr[j];
    while(--j>-1){
      if(arr[j]>key){
        arr[j+1]=arr[j];
      }else{
        break;
      }
    }
    arr[j+1]=key;
  }
  return arr;
}
insert_sort([2,34,54,2,5,1,7]);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonTeilen mehrerer gängiger Sortiercodes in JS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage