《js的各种排序算法实现(总结)》由会员分享,可在线阅读,更多相关《js的各种排序算法实现(总结)(7页珍藏版)》请在金锄头文库上搜索。
1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解js的各种排序算法实现(总结)下面小编就为大家带来一篇js的各种排序算法实现(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。如下所示:/ - 一些排序算法var Sort = Sort.prototype = / 利用sort进行排序 systemSort:function(array) return array.sort(function(a, b) return a - b; ); , / 冒泡排序 bubbleSort:functio
2、n(array) var i = 0, len = array.length, j, d; for(; i for(j=0; j if(arrayi d = arrayj; arrayj = arrayi; arrayi = d; return array; , / 快速排序 quickSort:function(array) /var array = 8,4,6,2,7,9,3,5,74,5; /var array =0,1,2,44,4,324,5,65,6,6,34,4,5,6,2,43,5,6,62,43,5,1,4,51,56,76,7,7,2,1,45,4,6,7; var i =
3、 0; var j = array.length - 1; var Sort = function(i, j) / 结束条件 if(i = j ) return ; var key = arrayi; var tempi = i; / 记录开始位置 var tempj = j; / 记录结束位置 while(j i) / j if(arrayj = key) j-; else arrayi = arrayj /i+ -向后查找 while(j +i) if(arrayi key) arrayj = arrayi; break; / 如果第一个取出的 key 是最小的数 if(tempi = i
4、) Sort(+i, tempj); return ; / 最后一个空位留给 key arrayi = key; / 递归 Sort(tempi, i); Sort(j, tempj); Sort(i, j); return array; , / 插入排序 insertSort:function(array) / http:/ / http:/ / var array = 0,1,2,44,4,324,5,65,6,6,34,4,5,6,2,43,5,6,62,43,5,1,4,51,56,76,7,7,2,1,45,4,6,7; var i = 1, j, temp, key, len =
5、array.length; for(; i temp = j = i; key = arrayj; while(-j -1) if(arrayj key) arrayj+1 = arrayj; else break; arrayj+1 = key; return array; , / 希尔排序 /Jun.array.shellSort(Jun.array.df(10000); shellSort:function(array) / http:/zh.wikipedia.org/zh/%E5%B8%8C%E5%B0%94%E6%8E%92%E5%BA%8F / var array = 13,14
6、,94,33,82,25,59,94,65,23,45,27,73,25,39,10; / var tempArr = 1750, 701, 301, 132, 57, 23, 10, 4, 1; / reverse() 在维基上看到这个最优的步长 较小数组 var tempArr = , , , , , , 90358, 19001, 4025, 836, 182, 34, 9, 1 /针对大数组的步长选择 var i = 0; var tempArrtempArrLength = tempArr.length; var len = array.length; var len2 = pars
7、eInt(len/2); for(;i if(tempArri len2) continue; tempSort(tempArri); / 排序一个步长 function tempSort(temp) /console.log(temp) 使用的步长统计 var i = 0, j = 0, f, tem, key; var tempLen = len%temp 0 ? parseInt(len/temp) + 1 : len/temp; for(;i for(j=1;/*j /依次循环每列的每行 tem = f = temp * j + i; key = arrayf; while(tem-=temp) = 0) / 依次向上查找 if(arraytem key) arraytem+temp = arraytem; else break; arraytem + temp = key; return array; 以上这篇js的各种排序算法实现(总结)就是小编分享给大家的全部内容了,希望能给大家一个参考 对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表