Dev - C++ - Eliminar elemento en cola dinamica

 
Vista:
sin imagen de perfil

Eliminar elemento en cola dinamica

Publicado por Will (9 intervenciones) el 06/05/2017 12:04:21
Buenas,

la pregunta que tengo es muy simple pero no se como hacerlo.

Es decir, nosotros estamos viendo colas dinamicas en clase, pero solo se eliminar el primero de la cola, y querria implementar una funcion para eliminar el elemento de una posicion que me pasan

Algo asi como: bool EliminarElemento (int x) donde x es la posicion, no se si puedo hacerlo como en un vector normal o al ser por punteros cambia radicalmente.

Muchas gracias de antemano
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
sin imagen de perfil

Eliminar elemento en cola dinamica

Publicado por Will (9 intervenciones) el 06/05/2017 12:36:17
Cada elemento de la cola es un puntero que sigue la estructura
1
2
3
4
5
6
7
8
struct Nodo;
typedef Nodo* Puntero;
struct Nodo
{
    Documento doc;
    Puntero sig;
};
Puntero inicio, fin;
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
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Eliminar elemento en cola dinamica

Publicado por agustin (522 intervenciones) el 06/05/2017 15:58:06
Fácil, depende in poco de lo que uses cómo referencia para saber cual es el que deseas borrar pero básicamente lo que harías es colocarte al inicio y avanzar hasta llegar a el elemento anterior y luego que guardas la dirección a sig->sig, liberas la memoria a la que apunta sig y por último haces que sig apunte a sig->sig con lo que ya tendrías el registro borrado. Si es el primero tienes que hacer que inicio apunte a sig del primero y si es el último pues ver que último apunte al anterior. Y poco más aunque este comportamiento es propio de listas y no de pilas.
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