冒泡算法的三种JavaScript表示
程序员文章站
2022-06-20 07:57:04
以前学习冒泡算法,总是弄不清楚n和n-1等一些变量的关系,原因是没有弄明白它的真正含义,今天写了一个冒泡算法的js小程序,终于弄明白了。复制代码 代码如下:var ...
以前学习冒泡算法,总是弄不清楚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>
复制代码 代码如下:
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>
上一篇: 鲍鱼怎么做煲汤才会营养又好喝