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
void InserteAlInicio(ListaSimple &ls, int dato){ system("CLS"); cout<<"\n"; cout<<"Ingrese numero de inicio: "; cin>>dato; cout<<"\n"; ListaSimple valor; valor = new(struct nodo); valor->numero = dato; valor->puntero = ls; ls = valor; } void InserteEnmedio(ListaSimple &ls, int dato){ system("CLS"); cout<<"\n"; cout<<"Ingrese numero de en medio: "; cin>>dato; cout<<"\n"; ListaSimple valor, valor2; valor = new(struct nodo); valor->numero = dato; valor->puntero = valor2->puntero; valor2->puntero = valor; ls = valor; } void InserteAlFinal(ListaSimple &ls, int dato){ system("CLS"); cout<<"Ingrese numero de final: "; cin>>dato; ListaSimple valor, valor2; valor = new(struct nodo); valor->numero = dato; valor->puntero = ls; valor->puntero = NULL; if(ls==NULL){ ls = valor; }else{ valor2 = ls; while(valor2->puntero!=NULL){ valor2 = valor2->puntero; } valor2->puntero = valor; } }