JS实现插入排序、快排、二分查找法

用JS实现插入排序

for(let i=1;i<arr.length;i++){
  j=i-1
  while(j>=0&&arr[j]>arr[j+1]){
    temp = arr[j]
    arr[j] = arr[j+1]
    arr[j+1] = temp
    j--
  }
}

用JS实现快排

var quickSort = function(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 quickSort(left).concat([pivot], quickSort(right));
};

用JS实现二分查找法

function search(array,low,high,target){
    if(low>high)return -1
    let mid = Math.floor((low+high)/2)
    if(array[mid]>target){
        return search(array,low,mid-1,target)}
    if(array[mid]<target){
        return search(array,mid+1,high,target)}
    return mid
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 二分查找算法是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的...
    Bloo_m阅读 3,496评论 0 6
  • 好久没有和大家见面了,最近一周每天晚上都在搬家,一直没有时间。今天来给大家分享一道面试的时候,被问及的一道算法题:...
    小草莓子桑阅读 4,809评论 1 12
  • 文丨清枫 什么是RAC ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开...
    郭清枫阅读 3,325评论 0 2
  • 你,还好么? 昨天和高中同学出去吃饭,她问我恋爱了没有,我说:“没有啊,没时间。” 她说:“你还在等么?” ...
    南国雪阅读 2,812评论 9 1
  • 18岁,你读了大学。 20岁,你大二结束,开始悔恨 自己前两年幼稚的行为 于是开始努力 22岁你大学毕业了,却发现...
    吞噬残月阅读 2,662评论 0 0