Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/12/2014, 14:38
lenit
 
Fecha de Ingreso: julio-2012
Mensajes: 106
Antigüedad: 11 años, 9 meses
Puntos: 2
eliminar varios nodos lista enlazada

hola queria saber como eliminar varios nodos que contienen el mismo dato de una lista enlazada de una manera iterativa, he probado así pero no me funciona:
Código C++:
Ver original
  1. int contador = 0;
  2.     Puntero aux;
  3.     Puntero ant;
  4.     ant = NULL;
  5.     aux = l;
  6.    
  7.     while ((aux!= NULL)) {
  8.         if (aux->dato == x) {
  9.             if (ant == NULL) {
  10.                 l = l->sig;
  11.             } else {
  12.                 while (aux!=NULL){
  13.                 contador = contador + 1;
  14.                 ant->sig = aux->sig;
  15.                 delete aux;
  16.                 }
  17.             }
  18.  
  19.         } else {
  20.             ant = aux;
  21.             aux = aux->sig;
  22.         }
  23. }
  24.     return contador;
  25. }