Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: HarleyX9000 en 18 Marzo 2015, 22:52 PM

Título: Ayuda para validar si un dato existe o no
Publicado por: HarleyX9000 en 18 Marzo 2015, 22:52 PM
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:

Código (cpp) [Seleccionar]
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
Título: Re: Ayuda para validar si un dato existe o no
Publicado por: milx86 en 19 Marzo 2015, 04:57 AM
Tu código recorre la lista mientras el dato no sea encontrado:
Código (cpp) [Seleccionar]
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ó.