美文网首页
JS实现插入排序、快排、二分查找法

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

作者: jackie季 | 来源:发表于2018-09-23 13:24 被阅读0次

用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
}

相关文章

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

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

  • 二分排序法

    二分排序法,实际上是二分查找法+直接插入排序法的灵活组合。 先来看看二分查找法,二分查找法的前提是给出的队列是有序...

  • 常见排序的java实现

    常见排序的java实现 常见排序java实现 插入排序(二分插入排序) 希尔排序 快速排序(三数中值快排) 冒泡排...

  • iOS_排序算法

    冒泡排序 结果: 选择排序 结果: 插入排序 结果: 希尔排序 结果: 二分查找 结果: 快排 结果:

  • 冒泡,选择,插入排序以及二分查找

    冒泡排序 选择排序 优化选择排序 插入排序 排序案例 二分法查找 二分法查找的前提是数组必须是有序的; 二分查找案...

  • 排序算法

    冒泡排序 堆排序 插入排序 二分法查找插入排序 希尔排序 快速排序 归并排序

  • 算法

    【原创】以下是自己写的某些算法的JS实现 快排 (一) 快排(二) 希尔排序 插排 二分插排 归并排序

  • 基本算法

    冒泡排序、插入排序、选择排序、快速排序、二分查找(Objective-C实现)

  • 常见排序算法

    目录 1. 二分查找法2. 冒泡排序3. 快速排序4. 插入排序5. 鸡尾酒排序6. 选择排序 二分查找法 适用范...

  • 4、作业:插入排序和二分查找

    插入排序 二分查找

网友评论

      本文标题:JS实现插入排序、快排、二分查找法

      本文链接:https://www.haomeiwen.com/subject/gaofoftx.html