C/Visual C - Problema con funciones

 
Vista:

Problema con funciones

Publicado por Fran (1 intervención) el 30/11/2007 20:49:10
Hola a todos, esoty intentando desarrollar la tipica funcion de añadir nodo en c++ para colas. Os pego el codigo

colae colae :: Aniadir(colae *enColar,avion *nuevo)
{
if (enColar->esVacia())
{
enColar->prim = nuevo;
enColar->ult = nuevo;
enColar->prim->sig=NULL;
enColar->ult->sig=NULL;
return *enColar;
}
else
{
enColar->ult->sig=nuevo;
enColar->ult=enColar->ult->sig;
enColar->ult->sig=NULL;
return *enColar;
}
}

No se porque no funciona, me pueden ayudar?
De todas formas lo que necesito es una funcion a la que le paso mi cola principal y un nodo para insertarlo, simplemente quiero tener controlados los punteros primero y ultimo, para en otras funciones poder imprimir esta funcion.

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema con funciones

Publicado por Leo (1 intervención) el 01/12/2007 05:44:27
See hace mucho q no veo punteros... pero creo q esta bien ese código.
Lo que no entiendo es porqué te quedas con el último apuntando,
porque es una Cola. Después cuando haces dequeue me parece que debes estar sacando
el ultimo que llego en vez del primero que llegó.
O sea, insertas un avion n. Luego insertas m. enColar->ult queda apuntando a m. En decolar es probable que estes sacando a m y no a n, que llego primero. O sea, implementaste una pila.
Leo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar