Hace un par de años, en los primeros años de mi cerrara, nos toco llevar una clase que se llamaba estructura de datos, fue una de las clases mas difíciles que tuvimos al inicio de la carrera, nos toco un profesor muy existen pero que sin duda se toma muy enserio el echo de no aprobar a ningún mediocre. en su clase murieron mas de la mitad de mis compañeros, pero bueno , las historias tristes no les importan a nadie.

Hoy les quiero compartir un algoritmo de ordenamiento que seguro les sera muy útil , más si eres estudiante y si estas buscando este tipo de respuesta.

La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado.     Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas «burbujas». También es conocido como el método del intercambio directo. Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación, siendo uno de los más sencillos de implementar.

Bubble-sort-example-300px

Existe muchas manera para crear este algoritmo, diferentes métodos y lenguajes. Pero esta es la forma en la que yo lo hice en C++.

 

#include <stdio.h>
#include<iostream>
#include <conio.h>
#define SIZE 5
int main() 
{
int vector[SIZE];
int i,j,temp; // temp realizaea los intercabios 
printf("ingre los numeros q desee ordenar \n",SIZE);
for(i=0;i<SIZE;i++)//para guardar los datos q le usario ingrese 
{
printf("%d:",i+1);//cuantas ves arecorido el contador ,100pre va imprimer lo q tenga y mas +1(2,3ect)

scanf("%d",&vector[i]);// guardmaos el numero q inserto el usaurio en la varioable vector .q asuves va abaleer lo qtenga el contador 
printf("\n");
}
for(i=1;i<SIZE;i++) // a ki aplicamos el metodo de la burbuja 
{
for(j=0;j<SIZE-i;j++) //j = i es por cada ves el primero se ejecute el se 2do se ejecutar tantos espacio cm tenga los numero a ordar a partir de los numeor q tanga i 
{
if( vector[j+1]<vector[j])
{//si el valor es mayor al suguiente ,se cambia 
temp=vector[j+1];// aki se efectua el intercambio 
vector[j+1]=vector[j];// 1re se igual el valor en el q estmos ,luego el primero toma el valor del oro y la pasaremos el valor de la temporal al 2do

vector[j]=temp;
}
}
}
printf("los numero en orden son :\n");
for(i=0;i<SIZE;i++)// este for imprime los numero ya ordenodos 
{
printf("%d ",vector[i]); 

} 
printf("\n");
getch();
}

También pueden descargar el archivo directamente desde githup, si tienen alguna inconveniente al pegar y copiar el código.

Link: https://github.com/fernandofedora/BubbleSort

 

Deja un comentario

Tendencias