Académique Documents
Professionnel Documents
Culture Documents
La ordenación, tanto numérica como alfanumérica, sigue las mismas reglas que
empleamos nosotros en la vida normal. Esto es, un dato numérico es mayor que otro
cuando su valor es más grande, y una cadena de caracteres es mayor que otra cuando
esta después por orden alfabético.
Se basa en una serie de intercambios entre elementos adyacentes. Esos intercambios dan
la impresíón de que cada elemento va ascendiendo a través del array acercándose cada
vez más a su posición final, recordando a cómo ascienden las burbujas de gas en un
líquido.
¡ ejemplo . Suponer que queremos ordenar estos valores con el algoritmo de la burbuja:
45, 52, 21, 37, 49, así pues, n=5
1ª pasada: comparamos cada uno de los cuatro primeros (n-1) con los que le siguen. Si
un elemento no está en orden con respecto al siguiente, los intercambiamos de sitio y
seguimos. El elemento de mayor valor (52) irá "ascendiendo" hasta la última posición.
45, 52, 21, 37, 49 → Comparar 45 y 52. (1º y 2º) Están en orden. Seguimos.
45, 52, 21, 37, 49 → Comparar 52 y 21. (2º y 3º) No están en orden. Intercambio.
45, 21, 52, 37, 49 → seguimos
45, 21, 52, 37, 49 → Comparar 52 y 37 (3º y 4º). No están en orden. Intercambio.
45, 21, 37, 52, 49 → seguimos
45, 21, 37, 52, 49 → Comparar 52 y 49. (4º y 5º). No están en orden. Intercambio.
45, 21, 37, 49, 52 → Ya hemos terminado esta pasada.
45, 21, 37, 49, 52 → El 5º elemento ya está en su sitio.
2ª pasada: comparamos cada uno de los tres primeros (n-2) con los que le siguen. No
llegamos a hacer comparaciones que involucren al 5º elemento, porque la primera
pasada hizo que el mayor de todos los elementos ocupara la última posición, con lo
cual, sabemos que ese ya está en su sitio. Trabajaremos sólo con los cuatro que quedan.
3ª pasada: Comparamos cada uno de los dos primeros (n-3) con los siguientes.
Pseudocódigo
#include <conio.h>
#define SIZE 7
void main(void) {
int vector[SIZE];
int j, i, temp;
scanf("%d", &vector[i]);
printf("\n");
if(vector[j]<vector[i]) {
temp=vector[j];
vector[j]=vector[i];
vector[i]=temp;
}}
printf("\n");
getch();