No passado, quando aprendi algoritmos de bolhas, sempre não conseguia descobrir o relacionamento entre algumas variáveis como N e N-1. A razão era que eu não entendi seu verdadeiro significado. Hoje, escrevi um pequeno programa JS para algoritmos de bolhas e finalmente descobri.
A cópia do código é a seguinte:
Varr1 = newArray ();
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;
VARR2 = newArray (35,55,65,20,30,25,0,7,5,3);
VARR3 = NewArray (35,55,65,20,30,25,0,7,5,3);
functionbubblesort1 ()
{
Varn = R1.Length-1;
for (vari = 1; i <n; i ++)
{
varflag = false;
for (varj = n-1; j> = i; j--)
{
Vartemp;
if (r1 [j+1] <r1 [j])
{
temp = r1 [j+1];
R1 [j+1] = r1 [j];
R1 [j] = temp;
}
bandeira = true;
}
if (! sinalizador) retornar;
}
}
functionbubblesort2 ()
{
varn = r2.Length;
para (vari = 0; i <n-1; i ++)
{
varflag = false;
for (varj = n-2; j> = i; j--)
{
Vartemp;
if (r2 [j+1] <r2 [j])
{
temp = r2 [j+1];
R2 [j+1] = r2 [j];
R2 [j] = temp;
}
bandeira = true;
}