Ir al contenido principal

Programación: Ordenamiento por burbuja

Antes de preguntarnos ¿Qué demonios es un ordenamiento por burbuja? sería más apropiado preguntarnos ¿qué es un ordenamiento?, y así como el nombre lo sugiere, es un método que ordena una lista de elementos de menor a mayor o de mayor a menor, depende nuestro problema.

Aquí utilizamos ciclos, condiciones y arreglos, por ello la importancia de las definiciones que vimos al principio del blog.

Ahora pues, llendo directo al meollo del asunto. Tenemos una lista de elementos, digamos que 10, pero desordenados. Lo que necesitamos es ordenarlos de menor a mayor.

Hay diferentes formas de ordenamiento, en el caso de la burbuja se comparan los elementos uno a uno. El primero con los demás y si hay un elemento menor al primero se intercambian. Después compara el segundo elemento con los demás y si hay uno que sea menor los intercambia. Así para todos los elementos.


Como pueden ver en el código usamos un ciclo for anidado, esto quiere decir un ciclo for dentro de otro ciclo for. El primero sirve para seleccionar el elemento el cual vamos a comparar. el segundo for sirve para recorrer la lista de elementos contra la cual vamos a comparar nuestro elemento. Una vez recorrida toda la lista cambia el elemento del primer for.

Simple el entendimiento de burbuja, en cambio aunque funciona no se recomienda para un numero grande de elementos por la siguiente cuestión:

En nuestro ejemplo tenemos una lista de 10 elementos, eso quiere decir que vamos a comparar nuestros elementos (10) contra los otros que le siguen en la lista. Como resultado el numero de veces que se repita el ciclo depende del número de elementos, imaginemos que tenemos una lista de 500 números, ¿ya no parece muy efectivo, verdad? Sin embargo existen otros métodos de ordenamiento que iremos viendo con el tiempo. No se olviden de compartir y comentar (:

Comentarios

Entradas populares de este blog

Programación: Estructuras de Control I

Hoy vamos a platicar un poco sobre las estructuras de control. Antes que nada ¿Qué son? Son sentencias que permiten modificar el flujo del programa, algo así como tomar decisiones basados en datos del programa. Para ello deben cumplirse ciertas condiciones definidas por el usuario. Estructura de control IF Pensemos en un programa que evalúe nuestro desempeño escolar. Declaramos nuestras variables y obtenemos el promedio, hasta aquí ya sabemos cómo hacer todo. Ahora bien, queremos que el programa nos muestre un mensaje "Excelente" si el promedio es de 10 a 8.5, "Bueno" si el promedio es de 8.4 a 7.5, "Regular" si el promedio es de 7.4 a 6, si es inferior a 6 que muestre "Malo". Analizando el problema nos damos cuenta rápidamente de dos detalles (esto se va dando con la práctica): 1. Utilizaremos variables de tipo flotante. 2. Utilizaremos 4 condiciones. La forma en que utilizamos la estructura If es la siguiente: if ( condición ) { .....

Método de solución de ecuaciones por suma y resta

Esta vez voy a explicarles el método de suma y resta para la resolución de sistemas de ecuaciones. Me parece un método bastante sencillo y eficiente (claro esto depende del tipo de ecuación), sin más les dejo la explicación, cualquier duda o comentario dejenla en los comentarios y procuraré resolverla:

Programación: Obtener Promedio

Que tal gente, volvemos a los temas de programación. Hoy veremos un tema que teníamos pendiente, aquel programa que obtuviera el promedio de 4 calificaciones y nos dijera nuestro desempeño segun nuestro promedio. Para los que no sepan muy bien de lo que hablamos dejo el link de aquella entrada AQUI . Ahora bien, en esa ocasión hicimos el programa muy básico y quizás poco ortodoxo. El reto era mejorar ese programa con lo visto en los tutoriales que siguieron. Pues bien, ahora incorporamos arreglos, ciclos FOR, y seguimos utilizando los condicionales. Aunque viene cierto que el programa sigue sin tener gran nivel de complejidad sirve de buen ensayo para desarrollar y practicar los conocimientos así que vamos al código: Bueno, ahí está. Ahora hay que notar diferentes cosas: 1) En el segundo ciclo FOR, donde definimos a sum, notamos el operador +=. Lo que estamos haciendo es indicar la instrucción "en la primer vuelta del ciclo sum es igual a materia[j], en la segunda vuelta el...