Funciona de la siguiente manera: dado un vector de números desordenados, se va recorriendo dicho vector en sucesivas iteraciones de tal manera que los elementos de menor peso se intercambian para que ocupen posiciones superiores (como si fueran burbujas, de ahí el nombre del algoritmo) hasta que ya no hay elementos que intercambiar, momento en el que el vector ya está ordenado.
Veamos a continuación la implementación de este algoritmo en C.
// funcion de ordenacion
void intercambio_directo(int v[], int N) {
int aux;
for(int i = 1; i < N; i++)
for(int j = N - 1; j >= i; j--)
if(v[j-1] > v[j]) { // intercambiamos los valores
aux = v[j-1];
v[j-1] = v[j];
v[j] = aux;
}
}
No hay comentarios:
Publicar un comentario