Metodos de ordenamiento y busqueda en c++
La filosofía de este método es ir comparando los elementos del array de 2 en 2 y si no están colocados correctamente intercambiarlos, así hasta que tengamos el array ordenado.Hay que comparar la posición 1 y la 2 y si no están ordenadas las intercambio. Luego la 2 y la 3 y así sucesivamente hasta que comparo las últimas posiciones.
Con esta primera pasada lograremosque quede ordenado el último elemento del array.
Teóricamente, en cada pasada iremos colocando un elemento, y tendríamos que hacer n –1 pasadas. Si en una pasada no se hacen cambios, el array ya estáordenado.
Procedimiento burbuja (datos: array [1..N] de )
Var
Ordenado: booleano
I, J: entero
Aux:
Inicio
Ordenado falso
I 1
Mientras (ordenado = falso) y (i n – 1)Ordenado verdadero
J I
Desde j = 1 hasta n – 1
Si datos [j] > datos [j + 1]
Entonces aux datos [j]
Datos [j] datos [j + 1]
Datos [j] aux
Ordenado falso
Fin si
Fin desde
I I+ 1
Fin mientras
Fin
Método de inserción:
Se supone que se tiene un segmento inicial del array ordenado, y hay que ir aumentando la longitud de segmento hasta que coincide con la longituddel array.
Para ello insertaremos el siguiente elemento en el lugar adecuado dentro del segmento ordenado.
Esto se hace moviendo cada elemento del segmento ordenado a la derecha hasta que seencuentre uno menor o igual al elemento que queremos colocar en el segmento o hasta que no tenemos elementos, y lo coloco en esa posición.
Para arrancar este método se parte de que el segmento ordenadoinicial este es la primera posición.
Procedimiento insercion (datos: array [1..N] de )
Var
I, J: entero
Aux:
Inicio
Desde i = 2 hasta N
Aux datos [i]
J i – 1
Mientras (j > 0) y(aux < datos[j])
Datos[j + 1] datos[j]
J j – 1
Fin mientras
Datos [j + 1] aux
Fin desde
Fin
Método de la selección:
Se trata de buscar el elemento más pequeño y colocarlo en...
Regístrate para leer el documento completo.