當(dāng)前位置:
首頁(yè) >
前端技术
> javascript
>内容正文
javascript
冒泡算法的三种JavaScript表示
生活随笔
收集整理的這篇文章主要介紹了
冒泡算法的三种JavaScript表示
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
以前學(xué)習(xí)冒泡算法,總是弄不清楚n和n-1等一些變量的關(guān)系,原因是沒(méi)有弄明白它的真正含義,今天寫(xiě)了一個(gè)冒泡算法的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;????????
????}
} ????調(diào)用它們的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;????????
????}
} ????調(diào)用它們的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>
轉(zhuǎn)載于:https://www.cnblogs.com/tyrael007/archive/2006/11/20/566375.html
總結(jié)
以上是生活随笔為你收集整理的冒泡算法的三种JavaScript表示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 大概看了一下《Flash MX 2004
- 下一篇: Web服务初探:用Demo学Web服务系