常用排序算法js版

Array.sort是通过javascript来实现的,而使用的算法是快速排序

冒泡排序:第一次循环,开始比较当前元素与下一个元素的大小,如果比下一个元素小或者相等,则不需要交换两个元素的值;若比下一个元素大的话,则交换两个元素的值。然后,遍历整个数组,第一次遍历完之后,相同操作遍历第二遍。

选择排序:第一遍,从数组中选出最小的,与第一个元素进行交换;第二遍,从第二个元素开始,找出最小的,与第二个元素进行交换;依次循环,完成排序

插入排序:循环原数组,然后,将当前位置的元素,插入到之前已排序好的数组中,依次操作。

快速排序:

  

  1. const arr = [30, 32, 6, 24, 37, 32, 45, 21, 38, 23, 47];

  2.  

  3. function quickSort(arr){

  4.  if(arr.length <= 1){

  5.    return arr;

  6.  }

  7.  let temp = arr[0];

  8.  const left = [];

  9.  const right = [];

  10.  for(var i = 1; i < arr.length; i++){

  11.    if(arr[i] > temp){

  12.      right.push(arr[i]);

  13.    }else{

  14.      left.push(arr[i]);

  15.    }

  16.  }

  17.  return quickSort(left).concat([temp], quickSort(right));

  18. }

  19.  

  20. console.log(quickSort(arr));

posted @ 2017-09-29 11:35  lyls  阅读(109)  评论(0编辑  收藏  举报