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.
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;
}
}