js中关于排序算法的实现
来源:互联网 发布:windows聚焦图片在哪 编辑:程序博客网 时间:2024/06/06 12:32
关于js中几种排序算法
快速排序
var quickSort = function (arr) { if (arr.length <= 1) { return arr; } //找到最中间数值的下表 var pivotIndex = Math.floor(arr.length / 2); //拿到中间数 var pivot = arr.splice(pivotIndex, 1); //把小于中间数放到left数组中 var left = []; //把大于中间数放到right数组中 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)); };
冒泡排序
var quickSort1 = function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len; i++) { for (var j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) {//相邻元素两两对比 var temp = arr[j + 1];//元素交换 arr[j + 1] = arr[j]; arr[j] = temp; } } } return arr; }
选择排序
var quickSort2 = function selectionSort(arr) { var len = arr.length; var minIndex, temp; for (var i = 0; i < len - 1; i++) { minIndex = i; for (var j = i + 1; j < len; j++) { //寻找最小的数 if (arr[j] < arr[minIndex]) { minIndex = j; //将最小数的索引保存 } } temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } return arr; }
插入排序
var quickSort3 = function insertionSort(arr) { var len = arr.length; var preIndex, current; for (var i = 1; i < len; i++) { preIndex = i - 1; current = arr[i]; while (preIndex >= 0 && arr[preIndex] > current) { arr[preIndex + 1] = arr[preIndex]; preIndex--; } arr[preIndex + 1] = current; } return arr; }
希尔排序
function mergeSort(arr) { //采用自上而下的递归方法 var len = arr.length; if (len < 2) { return arr; } var middle = Math.floor(len / 2), left = arr.slice(0, middle), right = arr.slice(middle); return merge(mergeSort(left), mergeSort(right)); }function merge(left, right) { var result = []; while (left.length > 0 && right.length > 0) { if (left[0] <= right[0]) { result.push(left.shift()); } else { result.push(right.shift()); } } while (left.length){ result.push(left.shift()); } while (right.length){ result.push(right.shift()); } return result; }
阅读全文
0 0
- js中关于排序算法的实现
- JS实现的给中排序算法
- 排序算法JS实现
- Js实现排序算法
- js 实现排序算法
- 排序算法 JS实现
- js实现排序算法
- JS的各种排序算法实现
- JS的各种排序算法实现
- js实现常见的排序算法
- 四种排序算法的js实现
- 算法 之 插入排序 的 JS 实现
- 关于桶排序算法的STL实现
- 关于排序算法的思想及实现
- js中关于sort()的冒泡排序
- js中数组的排序算法
- JS中常见的一些排序算法
- js中常见的排序算法
- js generator生成器已经使用的实际例子
- 学生信息管理(数据库版(雏形))
- 下载google play的安卓应用
- 数据采集第一阶段工作汇报与反思
- http与https的区别
- js中关于排序算法的实现
- Git-3、仓库内的文件操作
- jedis高级使用
- WPF转换器添加
- vue之mock.js模拟接口
- 输入流的数字求和(空格隔开)
- JavaScript(九)DOM
- android实现饼状图
- Caffe源码理解(2)——超级完整版教程:如何自定义一个新的层结构并重新编译Caffe