如下所示:
複製代碼代碼如下:
<!doctype html public' - // w3c // dtd html 4.01 transitional // en'“” http://www.org/tr/tr/html4/loose.dtd“>
<html>
<頭>
<title>新文檔</title>
<meta name =“ generator” content =“ editplus”>
<meta name =“作者” content =“”>
<meta name =“關鍵字” content =“”>
<meta name =“描述” content =“”>
<腳本類型=“ text/javascript”>
<! -
功能getCard(m){
var ret = [],rnd;
for(var i = 0; i <m; i ++){
rnd = math.floor(Math.random()*(i+0.9999));
ret [i] = ret [rnd];
ret [rnd] = i
}
返回ret;
}
var data = [];
{
for(var i = 0; i <100; i ++){
data.push(getCard(10));
}
}
//二維數據排序
功能邁索(Array,col,ord,b,e){
if(array.length == 0)返回;
//document.write(“排序前”+array);
var t = [],s,i,curcol = col [0];
for(i = b; i <e; i ++){
s = new String(array [i] [curcol]);
s._obj = array [i];
T.Push(S)
}
T.Sort();
if(ord [0] ==“ des”){
t.reverse();
}
for(i = 0; i <e -b; i ++){
//document.write(“ <br/>”);
//document.write(array [i]);
//document.write(“ <br/>”);
//document.write(
//document.write(“ <br/>”);
//document.write(
陣列[b+i] = t [i] ._ obj;
}
//document.write(“排序後===================== <br/>”)
//打印(數組);
var開始,結束;
if(col.length> 1){
shift();
Ord.Shift();
開始= b;
for(i = b; i <e -b -1; i ++){
if(array [i] [curcol]!= array [i+1] [curcol]){
end = i+1;
///document.write(“begin="+begin+" dend="+end+end+“ <br/>”);
邁索(Array,col,ord,begin,end);
開始= end;
}
}
如果(開始!= e){
邁索(Array,col,ord,begin,e);
}
}
//document.write(“ <br/>”);
//document.write(“排序後”+array);
}
功能打印(數據){
for(var i = 0; i <data.length; i ++){
document.write(data [i]+“ <br/>”);
}
}
document.write(“排序前===================== <br/>”);
打印(數據);
var b = new Date()。getTime();;
邁索(Data,[0,1,2],['asc','des','asc'],0,data.engength);
document.write(“用時”+(new Date()。getTime() - b));
document.write(“排序後===================== <br/>)
打印(數據);
// - >
</script>
</head>
<身體>
</body>
</html>