avatar
Untitled

Guest 119 27th Mar, 2019

                                           
                         #include<iostream.h>

#include<conio.h>

 

struct Nod

      {int info;

       Nod *next,*back;};

 

Nod *prim, *ultim;

int n;

 

void creare_lista()

{Nod *c;

 c=new Nod;

 cout<<"info ";

 cin>>c->info;

 if(!prim)

   {prim=c;

    prim->next=0;

    prim->back=0;

    ultim=prim;

    }

 else

   {ultim->next=c;

    c->back=ultim;

    ultim=c;

    ultim->next=0;

   }

}

 

 

void listare_stanga_dreapta()

{Nod *c;

 c=prim;

 while(c)

    {cout<<c->info<<" ";

     c=c->next;}

}

 

void creaza_lista_circulara()

{ultim->next=prim;

prim->back=ultim;

}

 

void afiseaza_lista_circulara(Nod *c) //se parcurge lista pornind de la o adresa transmisa

{for(int i=1;i<=n;i++)

    {cout<<c->info<<" ";

    c=c->next;}

}

 

void main()

   {int i;

    clrscr();

    cout<<"cate elemente va avea lista?";

    cin>>n;

    for(i=1;i<=n;i++)

      creare_lista();

    cout<<endl<<"Elementele listei de la stanga la dreapta sunt:"<<endl;

    listare_stanga_dreapta();

    creaza_lista_circulara();

    cout<<endl<<"afiseaza lista circulara incepand de la primul :"<<endl;

    afiseaza_lista_circulara(prim);

    cout<<endl<<"afiseaza lista circulara incepand de la al doilea :"<<endl;

    afiseaza_lista_circulara(prim->next);

    cout<<endl<<"afiseaza lista circulara incepand de la ultimul :"<<endl;

    afiseaza_lista_circulara(ultim);

    getch();

    }
                      
                                       
Pentru a distribui această postare, copiați această adresă URL și trimiteți-o prietenilor
RAW Paste Data