metodos de ordenamiento
por favor alguien que me pueda ayudar con 3 programas-metodos que ordene numeros, es urgente los necesito para poder pasar el curso.
Gracias, espero pronta respuesta.
Gracias, espero pronta respuesta.
Tengo los tres metodos pero no se en que lenguaje lso necesitas.....se mas especifica por favor.
[email protected]
[email protected]
Te ayudo con el primer metodo... la verdad que preguntar en que lenguaje es algo anticuado, ya que los metodos son algoritmos y se pueden escribir en cualquier lenguaje.
Yo uso C y un metodo facil de ordenamiento es el de burbuja. aqui esta el codigo que use para ordenar unos datos... a ver si te sirve:
void ordena_datos(struct datos *var, int n)
{
struct datos aux;
int cont;
for(int i=0; i<n; i++)
{
for(int j=0; j<n-1; j++) /*Ordenacion por metodo de la burbuja, solo que en vez de checar todo el arreglo*/
{ /*checamos solamente el primer caracter y si es mayor lo cambia*/
if(var[j].nombre[0]>var[j+1].nombre[0])
{
aux=var[j+1]; /*Si es menor no hace nada*/
var[j+1]=var[j];
var[j]=aux;
} /*Si son iguales entra a otro ciclo para checar los caracteres siguientes*/
else if(var[j].nombre[0]==var[j+1].nombre[0]) /*y si de nuevo uno es mayor cambia todo la estructura*/
{ /*si son iguales sigue checando y si es menor se rompe el ciclo*/
cont=2; /*por que quiere decir que alfabeticamente es menor el primero que el segundo*/
for(int x=1; x<cont; x++)
{
if(var[j].nombre[x]>var[j+1].nombre[x])
{
aux=var[j+1];
var[j+1]=var[j];
var[j]=aux;
}
else if(var[j].nombre[x]<var[j+1].nombre[x])break;
else cont++;
}
}
}
}
}
Yo uso C y un metodo facil de ordenamiento es el de burbuja. aqui esta el codigo que use para ordenar unos datos... a ver si te sirve:
void ordena_datos(struct datos *var, int n)
{
struct datos aux;
int cont;
for(int i=0; i<n; i++)
{
for(int j=0; j<n-1; j++) /*Ordenacion por metodo de la burbuja, solo que en vez de checar todo el arreglo*/
{ /*checamos solamente el primer caracter y si es mayor lo cambia*/
if(var[j].nombre[0]>var[j+1].nombre[0])
{
aux=var[j+1]; /*Si es menor no hace nada*/
var[j+1]=var[j];
var[j]=aux;
} /*Si son iguales entra a otro ciclo para checar los caracteres siguientes*/
else if(var[j].nombre[0]==var[j+1].nombre[0]) /*y si de nuevo uno es mayor cambia todo la estructura*/
{ /*si son iguales sigue checando y si es menor se rompe el ciclo*/
cont=2; /*por que quiere decir que alfabeticamente es menor el primero que el segundo*/
for(int x=1; x<cont; x++)
{
if(var[j].nombre[x]>var[j+1].nombre[x])
{
aux=var[j+1];
var[j+1]=var[j];
var[j]=aux;
}
else if(var[j].nombre[x]<var[j+1].nombre[x])break;
else cont++;
}
}
}
}
}
