以前学习冒泡算法,总是弄不清楚n和n-1等一些变量的关系,原因是没有弄明白它的真正含义,今天写了一个冒泡算法的js小程序,终于弄明白了。
var r1=new array();
r1[1]=35;
r1[2]=55;
r1[3]=65;
r1[4]=20;
r1[5]=30;
r1[6]=25;
r1[7]=0;
r1[8]=7;
r1[9]=5;
r1[10]=3;
var r2=new array(35,55,65,20,30,25,0,7,5,3);
var r3=new array(35,55,65,20,30,25,0,7,5,3);
function bubblesort1()
{
var n=r1.length-1;
for(var i=1;i< n;i++)
{
var flag=false;
for(var j=n-1;j>=i;j--)
{
var temp;
if(r1[j+1]< r1[j])
{
temp=r1[j+1];
r1[j+1]=r1[j];
r1[j]=temp;
}
flag=true;
}
if(!flag) return;
}
}
function bubblesort2()
{
var n=r2.length;
for(var i=0;i< n-1;i++)
{
var flag=false;
for(var j=n-2;j>=i;j--)
{
var temp;
if(r2[j+1]< r2[j])
{
temp=r2[j+1];
r2[j+1]=r2[j];
r2[j]=temp;
}
flag=true;
}
if(!flag) return;
}
}
function bubblesort3()
{
var n=r3.length;
for(var i=0;i< n-1;i++)
{
var flag=false;
for(var j=n-1;j>i;j--)
{
var temp;
if(r3[j]< r3[j-1])
{
temp=r3[j];
r3[j]=r3[j-1];
r3[j-1]=temp;
}
flag=true;
}
if(!flag) return;
}
} 调用它们的html文件代码如下:
< !doctype html public "-//w3c//dtd html 4.01//en" "http://www.w3.org/tr/html4/strict.dtd">
< html>
< head>
< meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
< title>bubblesort< /title>
< script language="javascript" src="bubblesort.js">< /script>
< script language="javascript">
bubblesort1();
bubblesort2();
bubblesort3();
for(var z=1;z< 11;z++)
{
document.write(r1[z]);
}
document.write("< br/>");
for(var k=0;k< 10;k++)
{
document.write(r2[k]);
}
document.write("< br/>");
for(var k=0;k< 10;k++)
{
document.write(r3[k]);
}
< /script>
< /head>
< body>
< /body>
< /html>
闽公网安备 35060202000074号