Foro de elhacker.net

Programación => Ejercicios => Mensaje iniciado por: clcarlos17 en 2 Julio 2015, 14:40 pm



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.