Metodos de busqueda y ordenamiento
Orden por intercambio-Método burbuja:
Ej: Ordenar ascendente un vector numérico entero de 5 elementos, mostrar por pantalla elvector ordenado.
Método: Compara e intercambia de a dos elementos consecutivos. Si el vector queda ordenado en las 1ras comparaciones el método prosigue.
Código Ansi C similar a ejemploanteriores-
Void main (viod)
{ Igual ejemplo anterior
Burbuja (Vec,5);
}
Void Burbuja (int*Vec,intCant)
{ int I, j;
For (i=0; I < (Cant -1); I + +)
For (J=0; J < (Cant -1); J++)
{ If (Vec [J] > Vec [ J +1]) Ordena el vector ascendentemente
{ T= Vec [J]);
Vec [J] = Vec [J+1];
Vec [J+1] = T;
}
}
For (i=0; I < Cant; I ++)Printf ( “% d\n”, Vec [i]);
}
Orden por intercambio-Método burbuja optimizado:
Método: Fundamenta en controlar si al final de cada repetición hubo algún cambio, si lo hubo sigueiterando si no lo hubo significa arreglo ordenado y no es necesario seguir comparando.
Burbuja optim (Vec,5);
}
Void Burbuja optim ( int * Vec, Int Cant)
{ int i, j, t, interc:
I=0;
Do{ Interc = 0;
For (j = i; j < ( Cant – 1); i + + )
{ if ( Vec [j] > Vec [ j +1])
{
Intrec = 1;
T= Vec [j];
Vec [j] = Vec [j+1];
Vec [j+1] =T;
};};
I++;
} While (Intrec ==1);
For (i=1; I < Cant; i++)
Printf (“%d\n”, Vec[i]);
}
Orden por selección:
Método: Seleccionar el menor elemento del conjunto eintercambiarlo por el que está ubicado en la primera posición, luego busca el menor elemento de la lista menos el primero y lo intercala en la segunda posición y así sucesivamente, el programa finaliza cuando sehalla iterado tantas veces como cantidad de elementos menos uno tenga la estructura de datos.
Se puede buscar el mayor elemento e intercalarlo con el último.
Código Ansi C similar a ejemplo...
Regístrate para leer el documento completo.