1 / 6

Ştergerea unui nod dintr-o listă liniară simplu înlănţuită

Ştergerea unui nod dintr-o listă liniară simplu înlănţuită. Hoduţ Riana Clasa a X-a B CNME. Ştergerea unui nod. Ştergerea unui nod: cu o valoare dată x de pe poziţia K. Ştergerea unui nod cu o valoare dată x. #include<iostream.h> struct nod{int info; nod * urm;}; nod *prim;

breck
Download Presentation

Ştergerea unui nod dintr-o listă liniară simplu înlănţuită

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ştergerea unui nod dintr-o listă liniară simplu înlănţuită Hoduţ Riana Clasa a X-a B CNME

  2. Ştergerea unui nod • Ştergerea unui nod: • cu o valoare dată x • de pe poziţia K

  3. Ştergerea unui nod cu o valoare dată x #include<iostream.h> struct nod{int info; nod * urm;}; nod *prim; void creare(){int x; nod *nou; cin>>x; if(prim==NULL) {prim=new nod; prim->info=x; prim->urm=NULL;} else { nou=new nod; nou->info=x;nou->urm=prim;prim=nou;}} void stergere(int x) { nod *aux , *p; 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=aux->urm; delete aux;}} void afisare(){ nod*p; p=prim; while(p!=NULL) { cout<<p->info<<" " ; p =p->urm;}} main() { int n, x; cout<<“intai n apoi x”; cin>>n;cin>>x; prim=NULL; for(int i=0;i<n;i++) creare(); afisare(); for(int j=0;j<n;j++) {stergere(x); cout<<endl; afisare();}}

  4. Ştergerea unui nod cu o valoare dată x n=6 x=3 5 6 3 2 7 1 NULL prim p 5 6 3 2 7 1 NULL prim p p aux 5 6 3 2 7 1 NULL prim 5 6 2 7 1 NULL

  5. Ştergerea unui nod de pe pozitia k #include<iostream.h> struct nod{int info; nod * urm;}; nod *prim; void creare(){int x; nod *nou; cin>>x; if(prim==NULL) {prim=new nod; prim->info=x; prim->urm=NULL;} else { nou=new nod; nou->info=x;nou->urm=prim;prim=nou;}} void stergere(int k) { nod *aux , *p; if(k==1){ aux=prim;prim=prim->urm; delete aux;} else { p=prim; for(int i =1;i<k-1;i++) p=p->urm; aux=p->urm; p->urm=aux->urm; delete aux;}} void afisare(){ nod*p; p=prim; while(p!=NULL) { cout<<p->info<<" " ; p =p->urm;}} main() { int n, k; cout<<"intai n apoi k"; cin>>n;cin>>k; prim=NULL; for(int i=0;i<n;i++) creare(); afisare(); stergere(k); cout<<endl; afisare();}

  6. Ştergerea unui nod de pe pozitia k n=6 k=4 5 6 3 2 7 1 NULL 1 2 3 4 5 6 prim p 5 6 3 2 7 1 NULL 1 2 3 4 5 6 prim p p aux p 5 6 3 2 7 1 NULL 1 2 3 4 5 6 prim 5 6 3 7 1 NULL 1 2 3 4 5

More Related