#include #include #include "liste.h" EL* izbaci(EL* pl, int x){ EL* tmp; EL* preth; //ako je prazna, onda se nista ne menja if(pl==NULL) return NULL; //ako je bas prvi element izbacujemo i vracamo novi pocetak if(pl->br==x){ //novi pocetak ce biti pl->sl, samo ga moramo zapamtiti // pre free tmp = pl->sl; free(pl); return tmp; } //inace se pocetak nece menjati, tako da samo treba //da nadjemo element i prespojimo pokazivace preth = pl; tmp = pl->sl; while(tmp!=NULL){ if(tmp->br==x){ //prespajamo prethodni sa sledecim od aktivnog // izbacujemo npr. 5 iz 1->4->3->5->6->NULL //to znaci da kad je tmp=5, preth=3, a tmp->sl=6 //treba da bude novo stanje 1->4->3->6->NULL preth->sl=tmp->sl; //nakon ovoga imamo 1->4->3->6->NULL, ali 5 nije //obrisan i dalje free(tmp); return pl; //izlazimo } preth=tmp; tmp=tmp->sl; } return pl; } int main(){ EL* pl = ucitaj(); pl = izbaci(pl, 3); ispisi(pl); pl = obrisi_it(pl); return 0; }