JS实现排序算法

快速排序:

function parition(arr,low,high){
  if(low==high){
    return ;
  }
  let tmp=arr[low];
  
  while(low<high){
    while(low<high&&arr[high]>=tmp){
      high--;
    }
    arr[low]=arr[high];
    while(low<high&&arr[low]<=tmp){
      low++;
    }
    arr[high]=arr[low];
  }
  arr[low]=tmp;
  return low;
}
function quickSort(arr,low,high){
  if(low<high){
    let pivot=parition(arr,low,high);
    quickSort(arr,low,pivot-1);
    quickSort(arr,pivot+1,high);
  }
}
let a=[1,4,7,1,6,2,1];
quickSort(a,0,a.length-1);
console.log(a)

冒泡排序:

function bubbleSort(arr){
  for(let i=0;i<arr.length-1;++i){
    let order=true;
    for(let j=0;j<arr.length-i-1;++j){
      if(arr[j]>arr[j+1]){
        order=false;
        [arr[j],arr[j+1]]=[arr[j+1],arr[j]];
      }
    }
    if(order){
      break;
    }
  }
}
let a=[1,4,7,1,6,2,1];
bubbleSort(a);
console.log(a)

 

posted @ 2021-10-19 18:37  HQL97  阅读(21)  评论(0)    收藏  举报