Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void esborrar_tots(const T& x) {
- /* Pre: parametre implicit = P */
- /* Post: s'han eliminat del parametre implicit totes les aparicions d'x (la
- resta d'elements queda en el mateix ordre que a P); si el punt d'interes de P
- referenciava a una aparicio d'x, passa a referenciar al primer element
- diferent d'x posterior a aquesta (si no hi ha cap element diferent d'x, passa
- a la dreta el tot); en cas contrari, el punt d'interes no canvia */
- node_llista* i = primer_node;
- while (i != NULL) {
- if (x == i->info) {
- node_llista* aux = i;
- if (primer_node == i){
- if (i == act) act = act->seg;
- primer_node = primer_node->seg;
- if (primer_node != NULL) primer_node->ant = NULL;
- else {
- ultim_node = NULL;
- }
- i = primer_node;
- } else if (ultim_node == i){
- if (i == act) act = act->seg;
- ultim_node = ultim_node->ant;
- ultim_node->seg = NULL;
- i = NULL;
- } else {
- if (i == act) act = act->seg;
- (i->ant)->seg = i->seg;
- (i->seg)->ant = i->ant;
- node_llista* aux = i->seg;
- i = aux;
- }
- delete aux;
- --longitud;
- } else i = i->seg;
- }
- }
- //Isaac_mc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement