Documente Academic
Documente Profesional
Documente Cultură
Structurile, la care relatiile de structura pot fi modificate in timpul executiei unui program s
se numesc structure dinamice de date.
Structurile, la care relatiile de structura nu pot fi modificate in timpul executiei unui program
se numesc structuri statice de date.
Prelucrarea listelor:
Putem face:
1. crearea listei
2. scrierea informatiei din lista
3. parcurge lista si prelucram informatia
4. sortam informatia din lista
5. stergem celule cu informatie din lista
6. inseram celule noi in lista
int main()
{ p=NULL; u=false;
while(fi>>x) { r=new celula; r->nr=x; r->next=NULL;
if (p==NULL) { p=r; v=r; }
else { v->next=r; v=r; }
}
r=p; mini=p->nr; maxi=p->nr; s=0; k=0;
while(r) { if (r->nr%2==0){ u=true; s=s+r->nr; ++k; }
if (r->nr>maxi) maxi=r->nr;
if (r->nr<mini) mini=r->nr;
fo<<r->nr<<" ";
r=r->next;
}
fo<<endl;
fo<<"minimul este="<<mini<<"\n"; fo<<"maximul este="<<maxi<<"\n";
if (u==false) fo<<"nu sunt elemente pare, lista nu se modifica"<<"\n";
else { fo<<"suma el. pare este="<<s<<"\n"; fo<<"media el.
pare="<<(float)s/k<<"\n";
r=p; v=p; // stergem numerele pare
while(r) { if (r->nr %2 ) {v=r;r=r->next;}
else if (r==p){ p=r->next; delete r; v=p; r=p;}
else if (r->next==NULL)
{ v->next=NULL; delete r; r=NULL; }
else { v->next=r->next; delete r; r=v->next; }
}
if (p==NULL) fo<<"lista e vida"<<"\n";
else for(r=p; r ; r=r->next) fo<<r->nr<<" ";
fo<<"\n";
}
return 0;
}