Título: Ayuda con listas enlazadas C++ Publicado por: clcarlos17 en 2 Julio 2015, 14:40 pm Buenas, he estado haciendo un ejercicio sobre listas enlazadas, cuyo enunciado es: Realizar un módulo que, dada una lista enlazada y un entero n, elimine los n primeros nodos.
La definición de tipos para una lista enlazada es la siguiente: typedef struct nodo{ int dato; nodo* suc; }; typedef nodo* puntero; El módulo que he realizado es el siguiente: void eliminarNodos (nodo &cab, int n){ puntero *p=cab; int cantidadNodos if (p==NULL){ cantidadNodos=0; }else{ cantidadNodos=1; } while (p!=NULL && cantidad<=n){ p-> suc; resultado++; } if (resultado<=n){ cab=NULL; }else{ cab=p->suc; delete (p) } } Lo que pretendo es contar el numero de nodos con el bucle while, y si hay menos nodos de los que hay que eliminar, o la lista esta vacía, directamente eliminarla. En caso de que haya suficientes nodos para borrar, como con el bucle while se ha situado p -> ¿Lo he hecho bien? Gracias por su atención. |