排序


1. 快速排序

// 快速排序
let arr =[ { id: 1, score: 10 },  { id: 2, score: 5 },  { id: 3, score: 14 }];

let lessFunc = function(a, b) {
   return a.score <= b.score;
};
let kuaisu = function(arr, lessFunc) {
  const quickSort = function(arr, low, high) {
    let i = low;
    let j = high;
    let pivot = arr[low];
    if (i >= j) {
      return;
    }
    while (i != j) {
      while (i < j && lessFunc(pivot, arr[j])) j--;
      if (i < j) arr[i] = arr[j];
      while (i < j && lessFunc(arr[i], pivot)) i++;
      if (i < j) arr[j] = arr[i];
    }
    arr[i] = pivot;
    quickSort(arr, low, i - 1);
    quickSort(arr, i + 1, high);
  };
  quickSort(arr, 0, arr.length - 1);
  return arr;
};

2. 冒泡排序

es6
for(let i in array) {
  for(let j in array) {
    if(array[j]> array[i]) {
      /* 交换 */
      let tmp = array[i];
      array[i] = array[j];
      array[j] = tmp;
    }
  }
}
es5
for(var i in array) {
  for(var j in array) {
    if(array[j]> array[i]) {
      /* 交换 */
      var tmp = array[i];
      array[i] = array[j];
      array[j] = tmp;
    }
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、 单项选择题(共71题) 对n个元素的序列进行冒泡排序时,最少的比较次数是( )。A. n ...
    貝影阅读 9,451评论 0 10
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,330评论 0 52
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,839评论 0 15
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好...
    依依玖玥阅读 1,365评论 0 2
  • 营养学,其实呢,换一个词语,就是,身体的,材料学
    九子兰阅读 484评论 0 0

友情链接更多精彩内容