#include typedef struct un_nod { int info; un_nod *urm; }TNod; TNod *lista; int n; TNod *creare_lista() { TNod *prim, *ultim, *p; int i; cout<<"Dati n mai mare ca 3\n n="; cin>>n; prim=new TNod; cin>>prim->info; prim->urm=NULL; ultim=prim; for(i=2;i<=5;i++) { p=new TNod; cin>>p->info; p->urm=NULL; ultim->urm=p; ultim=p; } return prim; } TNod *sterg(TNod *p, int k) { TNod *q, *r; int i; q=p; for(i=2;i<=k-1;i++) q=q->urm; r=q->urm; q->urm=r->urm; delete r; return p; } TNod *sterg_sfarsit(TNod *p) { TNod *q; q=p; while(q->urm->urm) q=q->urm; delete q->urm; q->urm=NULL; return p; } TNod *sterg_inceput(TNod *p) { TNod *q; q=p->urm; delete p; return q; } void afisare(TNod *p) { while(p) { cout<info<<", "; p=p->urm; } cout<<"\n"; } TNod *sterge_3_elemente(TNod *prim) //stergem cele mai mici 3 elemente din lista { int i,j; int minim; TNod *r, *aux;; //de la return r=prim; for(i=1;i<=3;i++) { minim=999; aux=r; while(aux) { if(aux->infoinfo; aux=aux->urm; } aux=r; j=1; while(aux) { if(aux->info==minim) { break; } aux=aux->urm; j++; } if(j==1) r=sterg_inceput(r); else if(j==n) r=sterg_sfarsit(r); else r=sterg(r, j); cout<<"Lista dupa stergerea "<