Hola, estoy aprendieno C y estoy leyendo un libro, ya voy en el apartado de arreglos, y me tome con un ejemplo del ordenamiento de tipo burbuja utilizando arreglos, lo principal del programa es que inicializa un arreglo con datos cualquiera y los ordena de forma ascendente, pero no entiendo realmente el asunto de las comparaciones que hace, se los dejo, espero alguien me explique saludos.
no entiendo como ocurre el ordenamiento, disculpen soy novato...
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#define sise 10
int main()
{
int a[sise]={2,6,4,8,10,12,89,68,45,37}; //inicializamos el arreglo
int i, pass, hold;
printf("datos ordenados originalmente\n");
for(i=0;i<=sise-1;i++) {printf("%4d",a[i]);}
for(pass=1;pass<=sise-1;pass++) // se recorre el arreglo
for (i=0;i<=sise-2;i++)
if(a[i]>a[i+1]){ //se comparan cual es mayor
hold=a[i]; //hold toma el valor de a[i]
a[i]=a[i+1]; //creo que se modifica el valor de a[1]
a[i+1]=hold; } //Se regresa el valor de a[i+1] a hold(valor original)
printf("\n Dator ordenados en orden ascendente\n");
for(i=0;i<=sise-1;i++)
printf("%4d", a[i]);
printf("\n");
return 0;
}
no entiendo como ocurre el ordenamiento, disculpen soy novato...