elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Método seleccion en C++, error.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Método seleccion en C++, error.  (Leído 1,990 veces)
Abril7

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Método seleccion en C++, error.
« en: 24 Abril 2017, 17:30 pm »

Hola, hicé un código para ordenar por método de selección una lista doblemente enlanzada, segun yo funcionaba y todo bien, pero cuando lo revisé con mas de 10 elementos ya no funciona, solo con pocos. Si por favor alguien nota que hago mal, agradecería mucho que me lo dijera, muchas gracias de antemano.

Código:
void doubleList::orderSelection()
{   int min, aux;
if (first->next==NULL)
return;
    else{
    Node *p = first;
        while(p != NULL){
            min = p->element;
    Node *j = p ->next;
while(j != NULL){
            if(j->element < min){
                aux = min;
min = j->element;
                j->element = aux;
                p->element = min;
                j= p->next;
break;
}
            j=j->next;
}
aux = p->element;
min = aux;
p = p->next;
}
    }
}


En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: Método seleccion en C++, error.
« Respuesta #1 en: 24 Abril 2017, 18:01 pm »

Serviria si indentaras mejor el codigo, para leerlo mejor y si presentaras como estas probando el mismo. Tal vez el problema esta en la prueba y no en el codigo que muestras.


En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
Abril7

Desconectado Desconectado

Mensajes: 22


Ver Perfil
Re: Método seleccion en C++, error.
« Respuesta #2 en: 24 Abril 2017, 18:25 pm »

Una disculpa, mira las pruebas:

Tengo una función rand para añadir los datos por cantidades, le pusé para añadir 7 datos que fueron: 478,224,169,0,334,467,41. Luego los "ordené" y quedaron así: 224,169,0,334,467,41,478.

Ahora un ejemplo que si funciona, hicé lo mismo pero ahora con 5 elementos, se añadieron: 41,467,334,0,169, estos si los ordenó correctamente.
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Método seleccion en C++, error.
« Respuesta #3 en: 24 Abril 2017, 19:22 pm »

El algoritmo debería buscar el mínimo valor de la lista entera y cambiarlo por el del puntero principal
pero
tu código busca el primer elemento menor al del puntero principal, intercambiarlo (o eso creo que hace) y saltar a la próxima del puntero principal.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con funcion, Metodo de seleccion
Programación C/C++
krowa 7 4,569 Último mensaje 24 Octubre 2011, 19:54 pm
por krowa
Error en llamada a metodo
Java
m@o_614 4 3,265 Último mensaje 14 Mayo 2012, 01:03 am
por [Case]
Error metodo main
Java
SeñorX95 7 3,003 Último mensaje 13 Marzo 2015, 21:20 pm
por SeñorX95
Error al retorno de un metodo
Java
n-utz 0 1,418 Último mensaje 25 Marzo 2017, 19:37 pm
por n-utz
Lista doblemente enlazada ordenada por método de selección
Programación C/C++
Abril7 0 4,986 Último mensaje 6 Abril 2017, 05:54 am
por Abril7
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines