经典排序算法的 javascript 实现
排序的稳定性:相等的几个元素在排序之后,其相对的先后顺序不变,则称该排序算法为稳定的。 排序算法是否为稳定的是由具体算法决定的, 不稳定的算法在某种条件下可以变为稳定的算法, 而稳定的算法在某种条件下也可以变为不稳定的算法。 稳定的排序算法:冒泡排序、插入排序、归并排序、基数排序、统计排序 不稳定的排序算法:选择排序、快速排序、希尔排序、堆排序 内部排序:直接在原数据结构上交换元素的值来达成排序 算法仅针对数值元素排序,某些算法仅适用于非负整数或大于0的整数; 在 js 中 undefined 的不等式运算返回 false, 因此有些比较操作执行前没有给变量赋初值也没有检查数组越界, 翻译成其他编程语言时需要注意 算法的描述参考下文 @kkun: http://www.cnblogs.com/kkun/archive/2011/11/23/2260312.html addr: http://www.cnblogs.com/ecalf/archive/2013/04/15/3022193.html author: ecalf 有错误和缺陷的地方希望大家指出来 //冒泡排序 function BubbleSort(arr){ for(i=0;i<arr.length;i++){ for(j=0;j<arr.length-1-i;j++){ var temp; if(arr[j]>arr