Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der Javascript-Schnellsortierungsalgorithmen_Javascript-Fähigkeiten

Detaillierte Erläuterung der Javascript-Schnellsortierungsalgorithmen_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 16:36:101579Durchsuche

Die Idee der „Schnellsortierung“ ist sehr einfach. Der gesamte Sortiervorgang erfordert nur drei Schritte:

(1) Suchen Sie einen Referenzpunkt im Datensatz

(2) Erstellen Sie zwei Arrays, um das linke bzw. das rechte Array zu speichern

(3) Verwenden Sie die Rekursion für den nächsten Vergleich

Sehen Sie sich eine Demo an: http://jsdo.it/norahiko/oxIy/fullscreen (Die Webseite öffnet sich möglicherweise langsam, bitte warten)

<script type="text/javascript"> 

function quickSort(arr){
  if(arr.length<=1){
    return arr;//如果数组只有一个数,就直接返回;
  }

  var num = Math.floor(arr.length/2);//找到中间数的索引值,如果是浮点数,则向下取整
  var numValue = arr.splice(num,1);//找到中间数的值
  var left = [];
  var right = [];

  for(var i=0;i<arr.length;i++){
    if(arr[i]<numValue){
      left.push(arr[i]);//基准点的左边的数传到左边数组
    }
    else{
      right.push(arr[i]);//基准点的右边的数传到右边数组
    }
  }
 return quickSort(left).concat([numValue],quickSort(right));//递归不断重复比较
}
alert(quickSort([32,45,37,16,2,87]));//弹出“2,16,32,37,45,87”

</script>

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