大佬教程收集整理的这篇文章主要介绍了五种排序算法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
const bubbleSort = (arr) => { for (let i = 0; i < arr.length; i++) { for (let j = i; j < arr.length; j++) { if (arr[j] < arr[i]) { let cur = arr[j] arr[j] = arr[i] arr[i] = cur } } } return arr }
const quickSort = (arr) => { if (arr.length < 2) return arr let mid = Math.floor(arr.length / 2) let midVal = arr.splice(mid, 1)[0] let left = [] let right = [] for (let i = 0; i < arr.length; i++) { if (arr[i] < midVal) { left.push(arr[i]) } else { right.push(arr[i]) } } return quickSort(left).concat([midVal], quickSort(right)) }
const SELEctSort = (arr) => { let min let item for (let i = 0; i < arr.length; i++) { min = i for (let j = i; j < arr.length; j++) { if (arr[j] < arr[min]) min = j } item = arr[min] arr[min] = arr[i] arr[i] = item } return arr }
const insertSort = (arr) => { let index let indexVal for (let i = 1; i < arr.length; i++) { index = i indexVal = arr[i] while (index > 0 && arr[index - 1] > indexVal) { arr[index] = arr[index - 1] index-- } arr[index] = indexVal } return arr }
function mergeSort (arr) { if (arr.length < 2) return arr let mid = Math.floor(arr.length / 2) let left = arr.slice(0, mid) let right = arr.slice(mid) return merge(mergeSort(left), mergeSort(right)) } function merge (left, right) { let newArr = [] while (left.length > 0 && right.length > 0) { if (left[0] < right[0]) { newArr.push(left.shift()) } else { newArr.push(right.shift()) } } while(left.length) { newArr.push(left.shift()) } while(right.length) { newArr.push(right.shift()) } return newArr }
以上是大佬教程为你收集整理的五种排序算法全部内容,希望文章能够帮你解决五种排序算法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。