首页 > 资讯 > 网站设计
javascript 的几种排序方法
发布时间:2005-02-01   浏览次数:1151104
所谓排序,是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来。其确切定义如下:  输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn。  输出:Ril,Ri2,…,Rin,使得Ki1≤Ki2≤…≤Kin。(或Ki1≥Ki2≥…≥Kin)。 这里,我们简单介绍几种排序方法,直接插入排序、希儿排序、冒泡排序、快速排序、直接选择排序,文中所提及的代码在IE6下测试通过。 直接插入排序基本思想 假设待排序的记录存放在数组R[1..n]中。初始时,R[1]自成1个有序区,无序区为R[2..n]。从i=2起直至i=n为止,依次将R[i]插入当前的有序区R[1..i-1]中,生成含n个记录的有序区。 算法描述 function InsertSort(arr) { //插入排序->直接插入法排序var st = new Date();var temp, j;for(var i=1; i-1 && (temp) < (arr[j]));arr[j+1] = temp;}//endif}status = (new Date() - st) + ms;return arr;} 希尔排序基本思想   先取一个小于n的整数d1作为个增量,把文件的全部记录分成d1个组。所有距离为dl的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量d21) {var low = arguments[1];var high = arguments[2];} else {var low = 0;var high = arr.length-1;}if(low < high){// function Partitionvar i = low;var j = high;var pivot = arr[i];while(i1) {var low = arguments[1];var high = arguments[2];} else {var low = 0;var high = arr.length-1;}if(low < high){// function Partitionvar i = low;var j = high;var pivot = arr[i];while(i
业务咨询

Copyright 2003 - 2023 huinet.cn All Rights Reserved.
慧网公司 版权所有