domingo, 24 de abril de 2011

Ordenación Burbuja

/*Este programa pone el valor dentro de un arreglo, ordena los valores en orden ascendente e imprime el arreglo resultante*/

#include /*inicializa las librerías*/

#include

#define SIZE 10 /*Inicializa una constante simbólica*/

void ordenacionBurbuja (int *, const int); /*Inicialización de una función que acepta un apuntador tipo entero y una constante entera*/

main() /*Inicio del programa principal*/

{

int i,a[SIZE]={2,6,4,8,10,12,89,68,45,37}; /*inicializa variables tipo entero y un arreglo de 10 elementos*/

printf("Elementos de los datos en el orden original\n"); /*Imprime una leyenda*/

for(i=0;i /*Estructura de repetición que inicia con i=0 y termina cuando i

printf("%4d",a[i]); /*Imprime el contenido del arreglo a[] con 4 espacios entre cada elemento*/

ordenacionBurbuja(a,SIZE); /*Ejecuta esta función enviando los valores a y SIZE*/

printf("\nElementos de los datos en orden ascendente\n"); /*Imprime una leyenda*/

for(i=0;i /*Inicia una estructura de repetición*/

printf("%4d",a[i]); /*Imprime el contenido del arreglo a[] con 4 espacios entre cada elemento*/

getch(); /*Espera a que se oprima una tecla*/

return 0; /*Indica que esta función no regresa nada*/

}

void ordenacionBurbuja (int *array, const int size) /*Inicio de la función*/

{

int pass,j; /*Inicio de variables tipo entero*/

void swap(int*, int*); /*Inicia la función swap */

for(pass=1;pass /*Inicio de una estructura de repetición */

for(j=0;j

if(array[j]>array[j+1]) /*Estructura de selección comparando valores del arreglo*/

swap(&array[j],&array[j+1]); /*Llama a la función swap mandando los valores del arreglo*/

}

void swap(int* element1Ptr, int* element2Ptr) /*Inicializa la función swap aceptando valores y asignadolos a element1Ptr y element1Ptr */

{

int temp; /*inicializa una variable tipo entero llamada temp*/

temp=*element1Ptr; /*el valor del apuntador element1Ptr se le asigna a temp*/

*element1Ptr=*element2Ptr; /*el valor de element2Ptr se le pasa a element1Ptr */

*element2Ptr=temp; /*el valor de temp se le asigna a element1Ptr */

}