Anda di halaman 1dari 6

Parte 1 Ordenamiento de burbuja

Clasificacin de burbuja es la tcnica de clasificacin de uso muy comn y ampliamente en


la programacin en C ++. Tambin se conoce como el tipo de cambio. Visita repetidamente
los elementos de una matriz y compara los dos elementos adyacentes. Visita a los elementos
de la matriz y comparar los elementos adyacentes si no estn en el orden correcto, entonces
los pone en el orden correcto. Contina para intercambiar los elementos hasta que no se
requieren ms intercambios, lo que significa que la matriz dada est ordenada. Funciona en
los pasos siguientes se describen a continuacin:
1. Se comparar dos elementos adyacentes, si segundo elemento es menor que el primer
entonces se intercambiarlos, si queramos ordenar una matriz en orden ascendente.
2. Se seguir el proceso anterior de comparar Pares, desde la primera a la ltima pare par,
en su primera iteracin el mayor elemento se coloca en el ltimo ndice de un array.
3. A continuacin, se volver a repetir los pasos anteriores para todos los elementos al
excluir el ms grande.
4. Se continuar repitindose hasta que la matriz se convierte en ordenadas.
Porcion de cdigo
#include <iostream>
using namespace std;
int main()
{
int array[5]; //Tamao del arreglo 5
int i,j,temp;
//Declaramos nuestras variables donde i=numeros ingresados
//i entero contador
//j entero contador
//temp el mismo que los elementos del array.(Realiza los intercambios)
for(i=0; i<5; i++)
{
cout<< "introduce un numero: ";
cin>>array[i];
//Ingreso de nmeros
}
for (i=0; i<4; i++)
for (int j=0; j<4; j++)
if (array[j]>array[j+1])//comparando el primer nmero con el segundo si es mayor el primero se
intercambia de posicion.
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
cout << "Ordenado el array de menor a mayor" << endl;
for (int i = 0; i < 5; i++)
{
cout << "array numero:[" << i << "]: " << array[i] << endl;//Imprimiendo en orden de menor a mayor
}
system("pause");
return 0;
}

Explicacin:Ahora bien, este programa ser explicado con el ejemplo adecuado.


Slo considere la matriz introducida por el usuario es:
0

10

40

13

20

En primer lugar pasar el valor de i = 0 y el bucle interno entr en accin, se llevar a cabo 4
iteraciones y compruebe el estado de la siguiente bloque de instrucciones.
if (array[j]>array[j+1])
{
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
Iteracin no. 1:
0

10

40

13

20

A primera iteracin el valor de j = 0 y el valor de j + 1 = 1, por lo que se compararn los


valores de ndice de cero y el primer ndice de una matriz. Como se puede observar que el
valor cero en el ndice es menor que el primer ndice, por lo tanto, la matriz sigue siendo el
mismo.
Iteracin no.2:
0

10

40

13

20

En la segunda iteracin el valor de j = 1 y el valor de j + 1 = 2, por lo que se compararn los


valores de la primera y la segunda ndice de ndice de un array. Como se puede observar
que el valor en el segundo ndice es menor que el primer ndice, por lo tanto, los elementos
del primero y segundo ndice sern de intercambio, la nueva matriz se parece.
0

10

13

40

20

Iteracin N 3:
En tercer lugar iteracin el valor de j = 2, y el valor de j + 1 = 3, por lo que se compararn
los valores de ndice de segundo y el tercer ndice de un array. Como se puede observar que
el valor en el tercer ndice es menor que el segundo ndice, por lo tanto, los elementos del
ndice de tercera y segunda sern de intercambio, la nueva matriz se parece.
0

10

13

20

40

Iteracin N 4:
En cuarta iteracin el valor de j = 3 y el valor de j + 1 = 4, por lo que se compararn los
valores de ndice de tercer y el cuarto ndice de un array. Como se puede observar que el
valor en el cuarto ndice es menor que el tercer ndice, por lo tanto, los elementos del cuarto
y tercer ndice sern de intercambio, la nueva matriz se parece.
0

10

13

20

40

Como se puede ver que al final de la primera pasada el valor ms grande se coloca en el
ltimo ndice.
Segundo paso:
Iteracin no. 1:
0

10

13

20

40

En la segunda iteracin el valor de j = 1 y el valor de j + 1 = 2, por lo que se compararn los


valores de la primera y la segunda ndice de ndice de un array. Como se puede observar
que el valor en el segundo ndice es mayor que el primer ndice, por lo tanto, la matriz ser
el mismo.
Iteracin N 3:
0

10

13

20

40

En tercer lugar iteracin el valor de j = 2, y el valor de j + 1 = 3, por lo que se compararn


los valores de ndice de segundo y el tercer ndice de un array. Como se puede observar que
el valor en el tercer ndice es menor que el segundo ndice, por lo tanto, los elementos del
ndice de tercera y segunda sern de intercambio, la nueva matriz se parece.
0

10

13

20

40

10

13

20

40

Iteracin N 4:

En cuarta iteracin el valor de j = 3 y el valor de j + 1 = 4, por lo que se compararn los


valores de ndice de tercer y el cuarto ndice de un array. Como se puede observar que el
valor en el cuarto ndice es mayor que el tercer ndice, por lo tanto, la voluntad matriz sigue
siendo el mismo.

10

13

20

40

Como se puede ver que al final de la segunda pasada el segundo elemento ms grande es
lugares en la segunda ltimo ndice de una matriz.
Tercer paso:
Iteracin no. 1:
0

10

13

20

40

A primera iteracin el valor de j = 0 y el valor de j + 1 = 1, por lo que se compararn los


valores de ndice de cero y el primer ndice de una matriz. Como se puede observar que el
valor cero en el ndice es menor que el primer ndice, por lo tanto, la matriz sigue siendo el
mismo.
Iteracin no.2:
0

10

13

20

40

En la segunda iteracin el valor de j = 1 y el valor de j + 1 = 2, por lo que se compararn los


valores de la primera y la segunda ndice de ndice de un array. Como se puede observar
que el valor en el segundo ndice es menor que el primer ndice, por lo tanto, los elementos
cambiarn de nuevo array y se vera as.
0

10

13

20

40

10

13

20

40

Iteracin N 3:

En tercer lugar iteracin el valor de j = 2, y el valor de j + 1 = 3, por lo que se compararn


los valores de ndice de segundo y el tercer ndice de un array. Como se puede observar que
el valor en el tercer ndice es mayor que el segundo ndice, por lo tanto, la matriz sigue
siendo el mismo.
0

10

13

20

40

10

13

20

40

Iteracin no. 4:

En cuarta iteracin el valor de j = 3 y el valor de j + 1 = 4, por lo que se compararn los


valores de ndice de tercer y el cuarto ndice de un array. Como se puede observar que el
valor en el cuarto ndice es mayor que el tercer ndice, por lo tanto, la voluntad matriz sigue
siendo el mismo.
0

10

13

20

40

Como se puede ver que al final de la tercera pasada el segundo elemento ms grande es
lugares en la antepenltima ndice de un array.
Cuarto paso:
Iteracin no. 1:
0

10

13

20

40

A primera iteracin el valor de j = 0 y el valor de j + 1 = 1, por lo que se compararn los valores de ndice de cero y el primer ndice de una matriz. Como se puede observar que el valor cero en el ndice es mayor que el primer ndice, por lo tanto, los el ementos cambiarn de nuevo array y se vera as.

10

13

20

40

En este punto, el bucle se completa y el cuarto valor ltimo se coloca en el cuarto ltimo
ndice de una matriz. Lo que significa que la posicin del cuarto valor es final, la posicin
del quinto valor se finaliza automticamente porque se coloca automticamente en el ndice
uno. Ahora, al final del bucle externo tambin se terminar y vamos a obtener la matriz
perfectamente ordenada de forma ascendente con la ayuda de la tcnica de ordenamiento de
burbuja.

Parte 2
Este es el algoritmo ms sencillo probablemente. Ideal para empezar. Consiste en ciclar
repetidamente a travs de la lista, comparando elementos adyacentes de dos en dos. Si un
elemento es mayor que el que est en la siguiente posicin se intercambian.
Nombr
e
array
i
j
temp

Tipo
int
int
int
El mismo que os elementos de la lista

Uso
Array a ordenar
Contador
Contador
Para realizar los intercambios

Vamos a ver un ejemplo. Esta es nuestra lista:


4-3-5-2-1
Tenemos 5 elementos. Es decir, TAM toma el valor 5. Comenzamos comparando el primero
con el segundo elemento. 4 es mayor que 3, as que intercambiamos. Ahora tenemos:
3-4-5-2-1
Ahora comparamos el segundo con el tercero: 4 es menor que 5, as que no hacemos nada.
Continuamos con el tercero y el cuarto: 5 es mayor que 2. Intercambiamos y obtenemos:
3-4-2-5-1
Comparamos el cuarto y el quinto: 5 es mayor que 1. Intercambiamos nuevamente:
3-4-2-1-5
Repitiendo este proceso vamos obteniendo los siguientes resultados:
3-2-1-4-5
2-1-3-4-5
1-2-3-4-5

Anda mungkin juga menyukai