电脑技术学习

冒泡算法的三种JavaScript表示

dn001

  以前学习冒泡算法,总是弄不清楚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;