inserarea unui element î ntr -o list ă

10
Inserarea unui element într-o listă

Upload: lev

Post on 21-Mar-2016

34 views

Category:

Documents


0 download

DESCRIPTION

Inserarea unui element î ntr -o list ă. Inserarea unui nou element se poate face: La î nceput . La sf â r ș it . Î n interiorul listei : - î nainte de nodul cu valoare x - dup ă nodul cu valoare x - pe pozi ț ia k. Inserarea nodului cu valoarea y. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Inserarea unui  element  î ntr -o list ă

Inserarea unui element într-o listă

Page 2: Inserarea unui  element  î ntr -o list ă

Inserarea unui nou element se poate face: La început. La sfârșit. În interiorul listei: -înainte de nodul cu valoare

x -după nodul cu valoare x -pe poziția k.

Page 3: Inserarea unui  element  î ntr -o list ă

Inserarea nodului cu valoarea y La începutul listei

Void inserare(int y){nod *nou;nou=new nod;nou->info=y;nou->urm=prim;prim=nou;}

La sfârșitul listei

Void inserare(int y){nod *nou;nou=new nod;nou=prim;while(nou!=NULL)

nou=nou->urm;nou->info=y;nou->urm=NULL;}

Page 4: Inserarea unui  element  î ntr -o list ă

Inserarea unui nod in interiorul listei

Page 5: Inserarea unui  element  î ntr -o list ă

Inserarea nodului cu valoarea y înaintea nodului cu valoarea x

Se parcurge lista începand de la primul nod până când ajunge nodul precedent celui cu valoarea x. Alocăm spațiul de memorie noului nod,după care refacem legătura dintre nodul precedent și noul nod.

Page 6: Inserarea unui  element  î ntr -o list ă

Inserarea nodului cu valoarea y înaintea nodului cu valoarea xVoid inserare(int x,int y){

nod *p,*nou;if(prim->info==x){

nou=new nod;nou->info=y;nou->urm=prim;prim=nou;}

else{p=prim; while(p->urm->info!=x) p=p->urm;

nou=new nod;nou->info=y;nou->urm=p->urm;p->urm=nou;}

}

Page 7: Inserarea unui  element  î ntr -o list ă

Se parcurge lista incepand de la primul nod pana cand ajungem la nodul cu valoarea x. Alocam spatiul de memorie noului nod,dupa care refacem legatura dintre nodul cu valoarea x si noul nod.

Inserarea nodului cu valoarea y după nodul cu valoarea x

Page 8: Inserarea unui  element  î ntr -o list ă

Void inserare(int x,int y){nod *p,*nou;if(prim->info==x){nou=new nod;nou->info=y;nou->urm=prim;prim=nou;}else{p=prim; while(p->urm->info!=x) p=p->urm; p=p->urm;nou=new nod;nou->info=y;nou->urm=p->urm;p->urm=nou;}}

Inserarea nodului cu valoarea y după nodul cu valoarea x

Page 9: Inserarea unui  element  î ntr -o list ă

Se parcurge lista începand de la primul nod până când ajungem la poziția k-1. Alocăm spațiul de memorie noului nod,după care refacem legătura dintre nodul de pe poziția k-1 si noul nod.

Inserarea nodului cu valoarea y pe poziția k

Page 10: Inserarea unui  element  î ntr -o list ă

Void inserare(int k,int y){nod *p,*nou;if(k==1){nou=new nod;nou->info=y;nou->urm=prim;prim=nou;}else{p=prim; while(k!=2) {p=p->urm;k--;}nou=new nod;nou->info=y;nou->urm=p->urm; p->urm=nou;}}

Inserarea nodului cu valoarea y pe poziția k