<head>
<script language="javascript">
function bubbleSort(arr){
var temp;
var exchange;
for(var i=0;i<arr.length;i++){ //这个循环起的是什么作用?
exchange=false;
for(var j=arr.length-2;j>=i;j--){ //我想的是:这里的i不过是从0变到arr.length-1,而 j>0不就包含了j>1…. arr.length-1吗,所以为什么不在这里直接令i=0,并且去掉那个外循环呢?
if(eval(arr[j+1])>eval(arr[j])){
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
exchange=true;
}
}
if(!exchange){
break;
}
}
return arr;
}
function display(el){
str=document.getElementById('source').value;
strs=bubbleSort(str.split(','));
str="";
for(var i=0;i<strs.length;i++){
str+=strs[i]+' ';
}
alert(str);
}
</script>
</head>
<body>
<center>
<h1>利用流程控制语句实现冒泡排序</h1>
<hr>
<br>
<h5>显示如下信息....</h5>
<br>
请输入排序序列:<input type="text" id="source"><input type="button" value="排序" onclick="display();"><span>(输入序列请用半角逗号隔开)</span>
</center>
</body>
在此声明啊!本人初学者还是菜鸟一枚,呵呵~~所以请大家多多指教了,帮我理一下这个思路。