Es una operación consistente en disponerun conjunto o estructura de datos en algún determinado orden con respecto a uno de los campos de elementos del conjunto.
- Ordenación por Burbuja: La técnica consiste en hacer varias pasadas a través del array. En cada pasada, se comparan parejas sucesivas de elementos. Si una pareja está en orden creciente (o los valores son idénticos), se dejan los valores como están. Si una pareja está en orden decreciente, sus valores se intercambian en el array.
La función burbuja() implementa el algoritmo de ordenación por burbuja. Tiene dos argumentos, el arreglo que va ordenar crecientemente, y el numero de elementos “n”.
void burbuja(int a[], int n)
{
int i, j;
for (i = 0 ; i <= n-2 ; i++)
for (j = i+1 ; j <= n-1 ; j++)
if (a[i] > a[j])
{
int aux;
aux = a[i];
a[i] = a[j];
a[j]= aux ;
}
}
int aux;
aux = a[i];
a[i] = a[j];
a[j]= aux ;
}
}
Definición de Funciones
void burbuja (int a[], int n)
{
int i, j;
for (i = 0 ; i <= n-2 ; i++) /* coloca m¡nimo de a[i+1]...a[n-1] en a[i] */
for (j = i+1 ; j <= n-1 ; j++)
if (a[i] > a[j])
{
int aux;
aux = a[i];
a[i] = a[j];
a[j]= aux ;
}
}
void imprimirLista (int a[], int n)
{
int i;
for (i = 0 ; i < n ; i++)
{
char c;
c = (i%10==0)?'\n':' ';
printf("%c%d", c, a[i]);
}
}
void entradaLista (int a[], int n)
{
int i;
printf("\n Entrada de los elementos\n");
for (i = 0 ; i < n ; i++)
{
printf("a[%d] = ",i);
scanf("%d", a+i);
}
}
int aux;
aux = a[i];
a[i] = a[j];
a[j]= aux ;
}
}
void imprimirLista (int a[], int n)
{
int i;
for (i = 0 ; i < n ; i++)
{
char c;
c = (i%10==0)?'\n':' ';
printf("%c%d", c, a[i]);
}
}
void entradaLista (int a[], int n)
{
int i;
printf("\n Entrada de los elementos\n");
for (i = 0 ; i < n ; i++)
{
printf("a[%d] = ",i);
scanf("%d", a+i);
}
}
Prueba de Escritorio
No hay comentarios:
Publicar un comentario