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

Teilen mehrerer gängiger Sortiercodes in JS

零到壹度
零到壹度Original
2018-03-20 11:27:081484Durchsuche

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

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

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

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!

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