Pues tengo que hacer una lista enlazada simple y funciona todo, solo que el metodo para mostrar anterior ya no se me ocurre como hacerle para validar si el dato ingresado existe o no, si alguien me pudiera ayudar se lo agradeceria mucho
Codigo:
int ListaIng::ant(string x)
{
Nodo *temp,*aux;
temp=h;
if(h!=NULL){
while(temp->data!=x)
{
aux=temp;
temp=temp->sig;
}
if(temp!=h){cout<< "Anterior es: "<<aux->data<<endl;}
else{cout<< "no hay anterior"<<endl;}
}
else{
cout<< "Lista vacia"<<endl;
}
}
la "h" se refiere a la cabeza de la lista
PD Es la primera vez que publico algo
Mod: los códigos deben ir en etiquetas GeSHi
Tu código recorre la lista mientras el dato no sea encontrado:
while(temp->data!=x)
Si el dato no estuviese en la lista quiere decir que:
aux terminaria apuntando al ultimo elemento
tmp apuntaría a nulo.
Entonces al salir del bucle preguntate que valor tiene tmp->data. si es disinto de x es porque el elemento no se encontró.