鸡尾酒排序

var cocktailSort= function(array) { var top = array.length – 1, bottom = 0,flag = true,i, j; while (flag) { flag = false; //从左到右到大,把最大的放到每次范围的最右边 for (i = …


组合排序

var combSort = function(array){ var gap = array.length; do{ gap = gap * 10 / 13 if(gap === 9 || gap === 10) gap = 11 if(gap < 1){ gap = 1 …


希尔排序

又称缩小增量排序: function shellSort(array) { var j, i, v, h=1, s=3, k,n = array.length while(h < n) h=s*h+1; while(h > 1) { h=(h-1)/s; …


计数排序

var countSort = function(array) { var i, z = 0, count = [], min = Math.min.apply({}, array), max = Math.max.apply({}, array), size = array.length; //给新数组预填为零 for …


快速排序

var qurckSort = function(array){ function qsort(array, begin, end){ if(end>begin){ //找到枢纽 var index = partition(array, begin, end); qsort(array, begin, index-1) …


选择排序

var swap = function(array,a,b){ var tmp = array[a]; array[a] = array[b] array[b] = tmp; } var selectionSort = function(array){ //注意不要把min这个全局变量定义在循环 …


插入排序

var insertionSort = function(array){ //一开始,第一个元素就被认为已排好序了 //以i为分割,小于i的为排好序的,大于或等于i的部分为待排序的 for(var i = 1,n = array.length;i < n;i++){ var tmp …


冒泡排序

冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。 …


合并排序

具体原理可看这里 javascript版本: function merge(left, right){ var result = []; while (left.length > 0 && right.length > 0){ if (left[0] < right[0]){ result.push(lef …