Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: BrendiisFox en 3 Septiembre 2015, 19:05 pm



Título: ¿Ayuda con listas enlazadas?
Publicado por: BrendiisFox en 3 Septiembre 2015, 19:05 pm
Buen día a todos!
Estoy rezando un proyecto con listas enlazadas simples en c++, pero tengo algunas dudas al momento de insertar en medio de la lista. El trabajo me pide que inserte al principio, enmedio y final un determinado dato que ingrese el usuario pero por mas que pruebe no logro ingresar enmedio.

Les adjunto lo que llevo hasta ahorita y les agradeceria mucho si me ayudan a salir de este apuro.

Código
  1. void InserteAlInicio(ListaSimple &ls, int dato){
  2. system("CLS");
  3. cout<<"\n";
  4. cout<<"Ingrese numero de inicio: ";
  5. cin>>dato;
  6. cout<<"\n";
  7. ListaSimple valor;
  8. valor = new(struct nodo);
  9. valor->numero = dato;
  10. valor->puntero = ls;
  11. ls = valor;
  12. }
  13.  
  14.  
  15.  
  16. void InserteEnmedio(ListaSimple &ls, int dato){
  17. system("CLS");
  18. cout<<"\n";
  19. cout<<"Ingrese numero de en medio: ";
  20. cin>>dato;
  21. cout<<"\n";
  22. ListaSimple valor, valor2;
  23. valor = new(struct nodo);
  24. valor->numero = dato;
  25. valor->puntero = valor2->puntero;
  26. valor2->puntero = valor;
  27. ls = valor;
  28. }
  29.  
  30. void InserteAlFinal(ListaSimple &ls, int dato){
  31. system("CLS");
  32. cout<<"Ingrese numero de final: ";
  33. cin>>dato;
  34. ListaSimple valor, valor2;
  35. valor = new(struct nodo);
  36. valor->numero = dato;
  37. valor->puntero = ls;
  38. valor->puntero = NULL;
  39.  
  40. if(ls==NULL){
  41. ls = valor;
  42. }else{
  43. valor2 = ls;
  44. while(valor2->puntero!=NULL){
  45. valor2 = valor2->puntero;
  46. }
  47. valor2->puntero = valor;
  48. }
  49. }
  50.  
  51.