Algoritmos_de_ordenacion_implementacion

Páginas: 4 (982 palabras) Publicado: 19 de septiembre de 2015
Algoritmos de ordenación - Implementación
 
Selección
int array[N];
int i,j,menor,aux;

// Dar valores a los elementos del array

for(i=0;i {
   for(j=i+1,menor=i;j       menor=j; // el menor pasa a ser el elemento j.
   aux=array[i]; // Se intercambian los elementos
   array[i]=array[menor]; // de lasposiciones i y menor
   array[menor]=aux; // usando una variable auxiliar.
 }
Burbuja
int array[N];
int i,j,aux;

// Dar valores a los elementos del array

for(i=0;i       if(array[j+1]       {
         aux=array[j+1]; // Se intercambian los elementos         array[j+1]=array[j]; // de las posiciones j y j+1
         array[j]=aux; // usando una variable auxiliar.
       }
Inserción directa
int array[N];
int i,j,aux;

// Dar valores a los elementos del array

for(i=1;i { // Se intenta añadir el elemento i.
   aux=array[i];
   for(j=i-1;j>=0;j--) // Se recorre la sublista de atrás a adelante para buscar
   { // lanueva posición del elemento i.
      if(aux>array[j]) // Si se encuentra la posición:
      {
         array[j+1]=aux; // Ponerlo
         break; // y colocar el siguiente número.
       }
      else// si no, sigue buscándola.
         array[j+1]=array[j];
    }
   if(j==-1) // si se ha mirado todas las posiciones y no se ha encontrado la correcta
     array[0]=aux; // es que la posición es alprincipio del todo.
 }
Shell
int array[N];
int salto,cambios,aux,i;

for(salto=N/2;salto!=0;salto/=2) // El salto va desde N/2 hasta 1.
   for(cambios=1;cambios!=0;) // Mientras se intercambie algúnelemento:
   {
      cambios=0;
      for(i=salto;i          if(array[i-salto]>array[i]) // y si están desordenados
         {
            aux=array[i]; // se...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS