冒泡算法的三种JavaScript表示
程序员文章站
2023-10-27 14:13:16
以前学习冒泡算法,总是弄不清楚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>
上一篇: 樱桃的季节到底是什么时候
下一篇: 油蛤的营养价值有哪些,功效作用还很多哦
推荐阅读
-
javascript阻止事件冒泡和浏览器的默认行为
-
PHP 冒泡排序算法的实现代码
-
总结JavaScript三种数据存储方式之间的区别
-
图文详解Heap Sort堆排序算法及JavaScript的代码实现
-
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
-
Javascript之常见算法整理(持续更新)-柠檬味的前端-SegmentFault思否
-
教你在javascript中创建元素的三种方式
-
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
-
C#实现冒泡排序算法的代码示例
-
JavaScript遍历数组的三种方法map、forEach与filter实例详解