我这个SHELL排序为什么不灵? 问题在这里h=h/2我希望:当h=3时h/2=1但程序运行时:当h=3时h/2=1.5怎样使h的值为整数?且不要进位? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <script>function shellsort(arr){ var x, i, j, d; var n=arr.length; for(d = parseInt(n/2); d >= 1; d =parseInt(d/2)) { for(i = d; i < n; i++){ x=arr[i]; for(j = i-d; j >= 0; j -= d){ if(x < arr[j]) arr[j+d] = arr[j]; else break; } arr[j+d] = x; } }}function testsort(){ var a = new Array(); for(var i=0; i<10; i++) a[i] = parseInt(Math.random()*100); alert(a); shellsort(a); alert(a);}</script><button onclick="testsort()">test</button> 谢谢,我也会了!for(h=parseInt(n/2);h>0;h=parseInt(h/2)) validation engine如何判断验证全部通过? 弹出层 有哪些方法可以远程获取一个网站内容的一部分? 双网卡的电脑,如何获取主机IP地址 关于url参数编码 小问题求解。 帮忙找错 数组随机排序 请问js如何生成类似md5那样的唯一标识? 如何用js去除option标签的disabled属性 jsp如何检测客户浏览器 活动脚本(例:javascript)是否启用 可以自动识别用户进行关闭网页动作前调用函数吗?
function shellsort(arr){
var x, i, j, d;
var n=arr.length;
for(d = parseInt(n/2); d >= 1; d =parseInt(d/2))
{
for(i = d; i < n; i++){
x=arr[i];
for(j = i-d; j >= 0; j -= d){
if(x < arr[j])
arr[j+d] = arr[j];
else
break;
}
arr[j+d] = x;
}
}
}function testsort(){
var a = new Array();
for(var i=0; i<10; i++) a[i] = parseInt(Math.random()*100);
alert(a);
shellsort(a);
alert(a);
}
</script>
<button onclick="testsort()">test</button>
for(h=parseInt(n/2);h>0;h=parseInt(h/2))