JavaScript常见排序算法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript常见排序算法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2051字,纯文字阅读大概需要3分钟。
内容图文
![JavaScript常见排序算法](/upload/InfoBanner/zyjiaocheng/838/2e9905e8cdc14d3bad81dc8429d925ac.jpg)
1.冒泡排序
function bubble_sort(arr) { if (arr.length <= 1) { return arr; } var len = arr.length; for (var i = 0; i < len; i++) { for (var j = 0; j < len - 1; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } var arr = [3, 5, 8, 1, 2, 4, 7, 9]; var sort = bubble_sort(arr); console.log(sort);
2.快速排序
function quick_sort(arr) { if (arr.length <= 1) return arr; var pivot = Math.floor((arr.length - 1) / 2), //Math.fllor()返回一个小于或者等于给定数字的最大整数 pivotValue = arr[pivot], left = [], right = []; arr = arr.slice(0, pivot).concat(arr.slice(pivot + 1)); //concat()连接两个数组返回一个新的数组 slice()返回包含提取元素的新数组 for (var i = 0; i < arr.length; i++) { if (arr[i] < pivotValue) { left.push(arr[i]); } else { right.push(arr[i]); } } return [].concat(quick_sort(left), [pivotValue], quick_sort(right)); } var arr = [3, 8, 9, 1, 2, 6, 4, 7, 5]; var sort = quick_sort(arr); console.log(sort);
3.合并排序
function merge(left, right) { var result = []; while (left.length && right.length) { if (left[0] < right[0]) { result.push(left.shift()); } else { result.push(right.shift()); } } return result.concat(left).concat(right); } function merge_sort(arr) { if (arr.length <= 1) return arr; var mid = Math.floor(arr.length / 2), left = arr.slice(0, mid), right = arr.slice(mid); return merge(merge_sort(left), merge_sort(right)); } var arr = [3, 8, 9, 1, 2, 6, 4, 7, 5]; var sort = merge_sort(arr); console.log(sort);
4.选择排序
function selection_sort(arr) { for (var i = 0; i < arr.length; i++) { var min = i; for (var j = i + 1; j < arr.length; j++) { if (arr[j] < arr[min]) { min = j; } } if (min != i) { var temp = arr[min]; arr[min] = arr[i]; arr[i] = temp; } } return arr; } var arr = [3, 8, 9, 1, 2, 6, 4, 7, 5]; var sort = selection_sort(arr); console.log(sort);
5.插入排序
function insertion_sort(arr) { for (var i = 0; i < arr.length; i++) { var j = i - 1, temp = arr[i]; while (j >= 0 && arr[j] > temp) { arr[j + 1] = arr[j]; arr[j] = temp; j--; } } return arr; } var arr = [3, 8, 9, 1, 2, 6, 4, 7, 5]; var sort = insertion_sort(arr); console.log(sort);
内容总结
以上是互联网集市为您收集整理的JavaScript常见排序算法全部内容,希望文章能够帮你解决JavaScript常见排序算法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。