30 likes | 165 Views
Stergerea unui nod intr -o lista simplu inlantuita.
E N D
Stergereaunui nod intr-o listasimpluinlantuita Putemsterge un nod de la inceputullistei, de la sfarsitulei, sau din interior. Pentru a sterge un nod, se retineacestaintr-o variabilaauxiliara, se sterglegaturiledintre el silistaapoi se elibereazaspatiul de memorieocupat de variabilaauxiliara (adica de nodul care trebuiesters).
Stergereauneivalori date x p p aux Void stergere(int x) {p=prim; If(prim->info==x) {aux=prim; Prim=prim->urm; Delete aux;} Else {p=prim; while(p->urm->info!=x && p->urm) p=p->urm; Aux=p->urm; P->urm=auz->urm; Delete aux;} } x
Stergereaunui nod de pepozitia k p p aux • Void stergere (int k) • {nod *aux, *p; • If(k==1) • {aux=prim; • Prim=prim->urm; • Delete aux;} Else {p=prim; For(i=0;i<k;i++) p=p->urm; aux=p->urm; P->urm=aux->urm; Detele aux;} } k