ARREGLOS. MÉTODOS DE ORDENACIÓN
MÉTODO DE LA BURBUJA:
La técnica consiste en hacer varios recorridos a través del arreglo. En cada recorrido 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 arreglo.
int edad[n]= {13,14,12,18,20,17,9,5,11,8};
int aux,i, j;
for (i=0; i<n-1; i++)
{
for (j=i+1; j<n; j++)
{
if(edad[i] > edad[j])
{
aux = edad[i];
edad[i] = edad[j];
edad[j] = aux;
}
}
}
printf("\n\nEl Vector de edades ordenado es: ");
for (i=0; i<n; i++)
printf ("%d ",edad[i]);
int aux,i, j;
for (i=0; i<n-1; i++)
{
for (j=i+1; j<n; j++)
{
if(edad[i] > edad[j])
{
aux = edad[i];
edad[i] = edad[j];
edad[j] = aux;
}
}
}
printf("\n\nEl Vector de edades ordenado es: ");
for (i=0; i<n; i++)
printf ("%d ",edad[i]);
MÉTODO DE INSERCIÓN:
El bucle principal de la ordenación por inserción va examinando sucesivamente todos los elementos del arreglo desde el segundo hasta el n-ésimo, e inserta cada uno en el lugar adecuado entre sus precedesores dentro del arreglo.
int edad[n]= {13,14,12,18,20,17,9,5,11,8};
int aux,i, a;
for (i=1; i<n; i++)
{
aux = edad[i];
a = i-1;
while (a >= 0 && edad[a] > aux)
{
edad[a + 1] = edad[a];
a--;
}
edad[a + 1] = aux;
}
printf("\n\nEl Vector de edades ordenado es: ");
for (i=0; i<n; i++)
printf ("%d ",edad[i]);
MÉTODO DE SELECCIÓN:
Los pasos de este método son: •Seleccionar el elemento mas pequeño del arreglo A. Intercambiarlo con el primer elemento del arreglo A[0]. Ahora la entrada más pequeña está en la primera posición del vector.
•Considerar las posiciones del arreglo A[1], A[2], A[3]…, seleccionar el elemento más pequeño e intercambiarlo con A[1]. Ahora las dos primeras entradas de A están en orden.
•Continuar este proceso encontrando o seleccionando el elemento más pequeño de los elementos restantes…
int edad[n]= {13,14,12,18,20,17,9,5,11,8};
int i, k, p, aux;
for(k = 0; k < n-1; k++)
{
p = k;
for(i = k+1; i <= n-1; i++)
if(edad[i] < edad[p])
p = i;
if(p != k)
{
aux = edad[p];
edad[p] = edad[k];
edad[k] = aux;
}
}
int i, k, p, aux;
for(k = 0; k < n-1; k++)
{
p = k;
for(i = k+1; i <= n-1; i++)
if(edad[i] < edad[p])
p = i;
if(p != k)
{
aux = edad[p];
edad[p] = edad[k];
edad[k] = aux;
}
}
No hay comentarios:
Publicar un comentario