Consultas, desarrollo de programas y petición de presupuestos:

jueves, 12 de julio de 2012

Tablas: Secuencias de numeros (II) Ordenar

Si tienes la tabla ordenada desde principio te ahorra muchos problemas. Otra cosa que te venga la tabla rellena (o que el relleno no venga de ti). ¿como podemos ordenar una tabla que ya este rellena?
Forma 2: Ordenar tablas despues de esar rellenas.
Ordenar 8 numeros dados
Pseudocódigo:
<incio>
num=0
aux=0
t[8]={14,3,23,8,7,44,5,2}

mientras num<8
     c=num+1
     mientras c<(8)
        si t[num]< T [c]
            //este caso no nos sirve ahora             
            sino
                  aux  =T[c]
                 T[c]=T[num]
                T[num]=aux
        finsi
        c++
        finmientras
num++
finmientras
....
<fin>

Ahora lo pasamos a C:
#include <stdio.h>

int main(int argc, char **argv)
{
int num=0;
int c=0;
int c2=0;
int aux=0;
int t[8]={14,3,23,8,7,44,5,2};

// lista de valores a ordenar
c=0;
printf(" Lista sin ordenar \n");
while (c<8) {
    printf("%d ",t[c]);
    c++;
}

// algoritmo de ordenacion
num=0;
while (num<8) {
c=num+1;
while (c<=(8)){
    if (t[num]<t[c]) {
     
    } else {
    aux=t[c];
    t[c]=t[num];
    t[num]=aux;
    }
    c++;
}
c2=0;
printf("\n ordenando.... \n");

while (c2<8) {
    printf("%d ",t[c2]);
    c2++;
}
num++;
}
// mostrar el resultado ordenado
c=0;
printf("\n Lista ordenada \n");

while (c<8) {
    printf("%d ",t[c]);
    c++;
}
return 0;
}
Resultado en pantalla:

Existen muchos métodos de ordenación más, el  más eficiente es el QuickSort
vease en la wiki: http://es.wikipedia.org/wiki/Quicksort

No hay comentarios:

Publicar un comentario