算法 --- 希尔排序、归并排序、快速排序的js实现
生活随笔
收集整理的這篇文章主要介紹了
算法 --- 希尔排序、归并排序、快速排序的js实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
希爾排序:
function shellSort(arr) {let len = arr.length;let temp, gap = 1;while(gap < len/3) {gap = gap*3 +1}while(gap >=1) {for(let i = gap;i< len; i++) {temp = arr[i];for( var j= i-gap; j>= 0 && arr[j] > temp; j -= gap) {arr[j + gap] = arr[j];}arr[j + gap] = temp;}gap = (gap -1 ) /3;}return arr } let arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48]; console.log(shellSort(arr));
歸并排序:
快速排序:
function qSort(arr) {if(arr.length == 0) {return []}let left = [];let right = [];let pivot = arr[0];for(let i =1;i< arr.length;i++) {if(arr[i] < pivot) {left.push(arr[i]);} else{right.push(arr[i]);}}return qSort(left).concat(pivot, qSort(right)); } var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48]; console.log(qSort(arr));參考:https://github.com/zoro-web/blog/issues/4
總結
以上是生活随笔為你收集整理的算法 --- 希尔排序、归并排序、快速排序的js实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 乐优商城(04)--商品规格
- 下一篇: 计算机中函数counta表示,excel