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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Dudas sobre el ordenamiento burbuja en listas simples
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dudas sobre el ordenamiento burbuja en listas simples  (Leído 1,761 veces)
Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Dudas sobre el ordenamiento burbuja en listas simples
« en: 12 Diciembre 2018, 04:56 am »

Código
  1. //Porque el codigo funciona asi en listas vacias o no?
  2. void ordenar(tlista &lista)
  3. {
  4. puntero i, j;
  5. estructura cambio;
  6. bool ordenado=true;
  7. if(lista.inicio!=NULL){
  8. while(ordenado){
  9. ordenado=false;
  10. for(i=lista.inicio;i->sig!=NULL;i=i->sig){
  11. j=i->sig;
  12. if(i->dato>j->dato){
  13. cambio=i->dato;
  14. i->dato=j->dato;
  15. j->dato=cambio;
  16. ordenado=true;
  17. }
  18. }
  19. }
  20. }
  21. }
  22. //y este codigo solo funciona en listas no vacias, me perdí
  23. void ordenar(tlista &lista)
  24. {
  25. puntero i, j;
  26. estructura cambio;
  27. bool ordenado=true;
  28. while(ordenado){
  29. ordenado=false;
  30. for(i=lista.inicio;i->sig!=NULL;i=i->sig){
  31. j=i->sig;
  32. if(i->dato>j->dato){
  33. cambio=i->dato;
  34. i->dato=j->dato;
  35. j->dato=cambio;
  36. ordenado=true;
  37. }
  38. }
  39. }
  40. }


En línea

7w7
K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Dudas sobre el ordenamiento burbuja en listas simples
« Respuesta #1 en: 12 Diciembre 2018, 05:24 am »

Creo que el segundo código no funciona en una lista vacía porque si esta está vacía la inicialización del <for> sería <i = NULL> y en la condición del <for> (i->sig != NULL) te daría un problema ya que no existe un puntero a siguiente.
En cambio en el primer código con el <if> haces una excepción para cuando esto ocurra. :-X


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Beginner Web


Desconectado Desconectado

Mensajes: 634


youtu.be/0YhflLRE-DA


Ver Perfil
Re: Dudas sobre el ordenamiento burbuja en listas simples
« Respuesta #2 en: 12 Diciembre 2018, 05:52 am »

Creo que el segundo código no funciona en una lista vacía porque si esta está vacía la inicialización del <for> sería <i = NULL> y en la condición del <for> (i->sig != NULL) te daría un problema ya que no existe un puntero a siguiente.
En cambio en el primer código con el <if> haces una excepción para cuando esto ocurra. :-X
Muchas gracias, tambien pensé lo mismo pero queria estar segura  ;-)
En línea

7w7
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ordenamiento burbuja
Programación C/C++
jravelar 5 7,026 Último mensaje 29 Abril 2010, 17:13 pm
por Tha_Traker
Ordenamiento de array mediante burbuja
Java
luchi 5 3,339 Último mensaje 22 Agosto 2013, 07:34 am
por 1mpuls0
Implementación ordenamiento burbuja en C
Programación C/C++
pacosn1111 0 1,409 Último mensaje 2 Febrero 2016, 15:19 pm
por pacosn1111
Pequeña duda sobre listas circulares simples
Programación C/C++
Beginner Web 0 1,538 Último mensaje 3 Septiembre 2018, 21:26 pm
por Beginner Web
Listas Enlazadas Simples Metodos de ordenamiento
Programación C/C++
david.albornoz 1 8,272 Último mensaje 14 Octubre 2018, 09:14 am
por Beginner Web
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines