
31/05/2009, 16:45
|
| | Fecha de Ingreso: noviembre-2008 Ubicación: aserri
Mensajes: 27
Antigüedad: 16 años, 5 meses Puntos: 1 | |
Eliminar nodo en el medio o el primero tengo en el main
Código:
int main(int argc, char *argv[])
{
lista<profesor>* L3 = new lista<profesor>();
profesor *p1 = new profesor(123,"Juan de Dios","Alajuela",12,2222222);
profesor *p2 = new profesor(124,"Juan ","Herediano",12,2222222);
profesor *p3 = new profesor(125,"Jggggggg","S",12,2222222);
L3->agregar(*p1);
L3->agregar(*p2);
L3->agregar(*p3);
cout << *L3 << endl;
cout <<L3->eliminarXId(125)<<endl;
cout <<L3->eliminarXId(124)<<endl;
cout << *L3 << endl;
//elimina y aparece solo 123,"Juan de Dios","Alajuela",12,2222222
}
// y este es el metodo de eliminar
template <class T>
int lista<T>::eliminarXId(int id){
nodo<T>* temp;
iterador<T>* i = obtenerIterador();
T* tmp = i->proximoElemento();
if(tmp->getId()==id){temp=primerNodo;primerNodo = primerNodo->obtenerSiguiente();temp=NULL; return 1;}
}
Pero solo elimina el ultimo pero si quiero eliminar el primero o el del medio primero como lo modifico he hecho mil cosas y nada,,,, como eliminar nodos en una lista pero no me funciona
GRACIAS |