插入排序
插入排序的代码实现固然没有冒泡排序和选择排序那么简单粗暴,但它的道理应当是最轻易懂得的了,因为只要打过扑克牌的人都应当可以或许秒懂。当然,如不雅你说你打扑克牌摸牌的时刻大年夜来不按牌的大年夜小整顿牌,那估计这辈子你对插入排序的算法都不会产生任何必趣了。。。
基数排序JavaScript代码实现:
插入排序动图演示
冒泡排序动图演示
桶排序是计数排序的进级版。它应用了函数的映射关系,高效与否的关键就在于这个映射函数切实其实定。
JavaScript代码实现
- 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;
- }
希尔排序
稳定性:排序后2个相等键值的次序和排序之前它们的次序雷同
希尔排序是插入排序的一种更高效力的实现。它与插入排序的不合之处在于,它会优先比较距离较远的元素。希尔排序的核心在于距离序列的设定。既可以提前设定好距离序列,也可以动态的定义距离序列。动态定义距离序列的算法是《算法(第4版》的合著者Robert Sedgewick提出的。在这里,我就应用了这种办法。
JavaScript代码实现
- function shellSort(arr) {
- var len = arr.length,
- temp,
推荐阅读
对于这种的办法:大年夜网页点击下载时要看看下载的文件名,绿色版的软件一般是目标软件的拼音或者英订婚名,多半是紧缩包(就算是安装版也要打包一下的),所以如不雅下载文件名是无序字符串,以及是exe文件,十有八九>>>详细阅读
本文标题:JavaScript中常见排序算法详解
地址:http://www.17bianji.com/lsqh/39153.html
1/2 1