Título: typedef struct con punteros Publicado por: a1ex en 19 Abril 2019, 18:43 pm Hola,
Tengo una duda de como estoy entendiendo el tema de estructuras de datos con punteros. He estado buscando por el foro y no encuentro un problema similar que me aclare lo que hago mal. Tengo estas estructuras: Código: // Libro Entonces lo que estoy intentando es añadir varios elementos a la cola. Más allá del código quiero entender como lo hago porque me parece que lo estoy interpretando mal. Lo primero que hago es comprobar si la cola está vacía y declaro un tLibro que quiero añadir y lo copio en tCola->tColaNode.primero Después lo apunto al puntero ultimo para que sea tb el último ya que hay uno solo. Hasta aquí todo bien. El tema es cuando añado el segundo, ahora mismo lo que hago es hacerlo a tCola->tColaNode.ultimo->siguiente que se supone que es el siguiente valor, no? Pues aquí es donde creo que estoy interpretando mal la estructura y por lo tanto copiando donde no es. Si me he explicado bien, alguien sabe donde me confundo? Título: Re: typedef struct con punteros Publicado por: K-YreX en 19 Abril 2019, 20:50 pm Como bien has comentado, lo estás interpretando mal. Lo primero que debemos tener en cuenta es un poco de teoría.
Código: Cola1: 1 Código: Expulsion1: 1 Cola: 5 4 3 2 Teniendo esto claro, pasamos al código que tienes:
2. <siguiente> del nodo nuevo apunta al mismo nodo que <primero> 3. <primero> apunta al nuevo nodo.
2. Borramos la memoria del último elemento. 3. Hacemos que <ultimo> apunte al penúltimo. 4. Hacemos que <ultimo->siguiente> apunte a NULL. Creo que no me he dejado nada; si no es así, pueden decírmelo para corregir lo que sea necesario. Suerte :-X Título: Re: typedef struct con punteros Publicado por: srWhiteSkull en 19 Abril 2019, 21:35 pm No, a1ex la cola es un nodo como otro cualquiera, no es un nodo especial. Se considera el nodo de cola el último nodo (el que apunta null al siguiente).
El concepto de una lista es la de un sistema enlazado por nodos que apuntan hacia el nodo continuo. Cada Nodo dispone de su correspondiente información o mejor dicho el almacenamiento de información es el fin de la lista. Código
Luego podrías crear funciones para que te den el tamaño, realicen b´suquedas, eliminen, etc. Título: Re: typedef struct con punteros Publicado por: srWhiteSkull en 19 Abril 2019, 22:02 pm Ejemplo en C++ :
Código
PD Lista simple! y Ojo! hay diferencias en el uso de punteros en C con respecto a C++. Si puedes trabajar con C++ mejor! Título: Re: typedef struct con punteros Publicado por: a1ex en 20 Abril 2019, 11:23 am gracias a todos, ya lo veo más claro.
Y si, es en C (por ahora). Gracias por la ayuda |