欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

冒泡算法的三种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>