Documentos de Académico
Documentos de Profesional
Documentos de Cultura
8 4 6 2
Arreglo Inicial-Pasada 1
Compararemos el n[0], con los números siguientes:
8 4 6 2
Sub-Pasada 1
¿n[0]>n[1]?
Donde n[0]=8 y n[1]=4, por lo que, estamos preguntando: ¿es 8>4?
Ya que cuatro es menor a ocho, se hace un intercambio:
En donde de:
8 4 6 2
Pasamos a:
4 8 6 2
Sub-Pasada 2
¿n[0]>n[2]?
Donde n[0]=4 y n[2]=6, por lo que, estamos preguntando: ¿es 4>6?
Ya que seis no es menor a cuatro, no se realiza el intercambio, por lo que el
arreglo continua igual.
Sub-Pasada 3
¿n[0]>n[3]?
Donde n[0]=4 y n[3]=2, por lo que, estamos preguntando: ¿es 4>2?
Ya que dos es menor a cuatro, se hace un intercambio:
En donde de:
4 8 6 2
Pasamos a:
2 8 6 4
Por lo que en nuestro nuevo arreglo tendríamos:
n[0]=2
n[1]=8
n[2]=6
n[3]=4
Como podemos ver ya hemos recorrido todos los sucesores por lo que se termina la
primera pasada. Además, ya tenemos el número menor posicionado en la primera
posición. Por lo que pasamos a la pasada dos.
Arreglo Inicial-Pasada 2
Compararemos el n[1], con los números siguientes:
2 8 6 4
Sub-Pasada 1
¿n[1]>n[2]?
Donde n[1]=8 y n[2]=6, por lo que, estamos preguntando: ¿es 8>6?
Ya que seis es menor a ocho, se hace un intercambio:
En donde de:
2 8 6 4
Pasamos a:
2 6 8 4
2 6 8 4
Pasamos a:
2 4 8 6
Como podemos ver ya hemos recorrido todos los sucesores por lo que se termina la
segunda pasada. Además, ya tenemos el segundo número menor posicionado en la
segunda posición. Por lo que pasamos a la pasada tres.
Arreglo Inicial-Pasada 3
Compararemos el n[2], con los números siguientes:
2 4 8 6
Sub-Pasada 1
¿n[2]>n[3]?
Donde n[2]=8 y n[3]=6, por lo que, estamos preguntando: ¿es 8>6?
Ya que seis es menor a ocho, se hace un intercambio:
En donde de:
2 4 8 6
Pasamos a:
2 4 6 8
Como podemos ver ya hemos recorrido todos los sucesores por lo que se termina la
tercera pasada.
El arreglo está ordenado por lo que se termina el algoritmo.
No se hace una cuarta pasada ya que no hay casillas o números sucesores del n[3].
posicion_actual=0;
posicion_comparar=posicion_actual+1;
int temporal;
Mientras(posicion_actual < tamaño_arreglo-1) hacer
Mientras(posicion_comparar < tamaño_arreglo) hacer{
Si(arreglo[posicion_actual]>arreglo[posicion_comparar])
temporal = arreglo[posicion_actual]
arreglo[posicion_actual] = arreglo[posicion_comparar]
arreglo[posicion_comparar] = temporal;
posicion_comparar++;
}
posicion_actual++;
posicion_comparar = posicion_actual+1;
}
ACLARACIONES DE ALGORITMO
● Se utiliza una variable entera para almacenar temporalmente uno de
los valores, sino es imposible hacer el cambio, ya que uno de estos se
perdería.
● El primer While se realiza hasta “tamaño_arreglo-1” ya que la última
posición del arreglo nunca se compara ya que no hay sucesores a
esta.