Inserarea unui element ntr o list
This presentation is the property of its rightful owner.
Sponsored Links
1 / 7

Inserarea unui element Î ntr -o list Ă PowerPoint PPT Presentation


  • 57 Views
  • Uploaded on
  • Presentation posted in: General

Inserarea unui element Î ntr -o list Ă. Folosind alocarea dinamică. Clasificare. Într-o listă liniară simplu înlănţuită, se poate insera un element : Înaintea primului nod al listei După ultimul nod al listei Înaintea nodului cu valoare x După nodul cu valoarea x Pe poziţia k.

Download Presentation

Inserarea unui element Î ntr -o list Ă

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Inserarea unui element ntr o list

Inserareaunui element Într-o listĂ

Folosind alocarea dinamică


Clasificare

Clasificare

  • Într-o listă liniară simplu înlănţuită, se poate insera un element :

    • Înaintea primului nod al listei

    • După ultimul nod al listei

    • Înaintea nodului cu valoare x

    • După nodul cu valoarea x

    • Pe poziţia k


Inserarea unui element naintea primului nod

Inserarea unui element Înaintea primului Nod

void creare(int x){

nod *nou;

if(prim==NULL){

prim=new nod;

prim->info=x;

prim->urm=NULL;}

else {

nou=new nod;

nou->info=x;

nou->urm=prim;

prim=nou;

}

}

Declaram o variabila de tip nod

Verificam daca lista este vida

Daca da: alocam mem. primul nod

Completam campurile de info

Si facem legatura catre NULL

Daca nu: alocam memorie noului nod

Completam campurile de info

Facem legatura cu primul nod

Noul nod devine primul


Inserarea unui element dup ultimul nod

Inserarea unui element DupĂUltimulNod

void crearea2(){

if(prim==NULL){

prim=new nod;

prim->info=x;

prim->urm=NULL;

ultim=prim;

}

else

{

nou=new nod;

nou->info=x;

nou->urm=NULL;

ultim->urm=nou;

ultim=nou;

}

}

Verificam daca lista este vida

Daca da: alocam mem. primul nod

Completam campurile de info

Si facem legatura catre NULL

Primul nod devine ultimul

Daca nu: alocam memorie noului nod

Completam campurile de info

Facem legatura cu NULL

Facem legatura dintre ultimul nod si

noul nod

Noul nod devine ultimul


Inserarea unui element naintea nodului cu valoare x

Inserarea unui element Înaintea nodului cu valoare x

int i;

int inserare(int x,int y){

if(prim->info==x)

{

nou=new nod;

nou->info=y;

nou->urm=prim;

prim=nou;

}

else

{

nou=new nod;

p=prim;

while((p->urm)->info!=x && p->urm)p=p->urm;

nou->info=y;

nou->urm=p->urm;

p->urm=nou;}

}


Inserarea unui element dup nodul cu valoare x

Inserarea unui element dupĂ nodul cu valoare x

int i;

intinserare(intx,int y){

if(ultim->info==x)

{

nou=new nod;

nou->info=y;

nou->urm=NULL;

ultim->urm=nou;

ultim=nou;

}

else

{

nou=new nod;

p=prim;

while(p->info!=x && p->urm)p=p->urm;

nou->info=y;

nou->urm=(p->urm)->urm;

p->urm=nou;

}

}


Inserarea unui element pe pozi ia k

Inserarea unui element pe poziţia k

int i;

int inserare(int k, int y){

if(k==1)

{

nou=new nod;

nou->info=y;

nou->urm=prim;

prim=nou;

}

else

{

nou=new nod;

p=prim;

for(i=1;i<k-1;i++)p=p->urm;

nou->info=y;

nou->urm=p->urm;

p->urm=nou;

}

}

Secretul acestui algoritm este

refacerea legaturilor dintre noduri


  • Login