本文为大家分享了js实现常用排序算法,具体内容如下
1.冒泡排序
var bubbleSort = function (arr) { var flag = true; var len = arr.length; for (var i = 0; iarr[j + 1]) { var temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; flag = false; } } if (flag) { break; } } };
2.选择排序
var selectSort = function (arr) { var min; for (var i = 0; iarr[j]) { min = j; } } if (i != min) { swap(arr, i, min); } } }; function swap(arr, index1, index2) { var temp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = temp; };
3.插入排序
var insertSort = function (arr) { var len = arr.length, key; for (var i = 1; i-1) { if (arr[j] > key) { arr[j + 1] = arr[j]; } else { break; } } arr[j + 1] = key; } };
4.希尔排序
var shellSort = function (arr) { var gaps = [5, 3, 1]; for (var g = 0; g= gaps[g] && arr[j - gaps[g]] > temp; j -= gaps[g]) { arr[j] = arr[j - gaps[g]]; } arr[j] = temp; } } };
5.归并排序
function mergeSort(arr) { if (arr.length <2) { return; } var step = 1; var left, right; while (step
6.快速排序
var quickSort = function(arr, left, right) { var i, j, t, pivot; if (left >= right) { return; } pivot = arr[left]; i = left; j = right; while (i != j) { while (arr[j] >= pivot && i
总结:算法效率比较:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。