avatar
Untitled

Guest 125 20th Mar, 2019

                                           
                         #include <iostream>

using namespace std;
struct elem_lista
{
    string nume;
    int an;
    elem_lista* urm;
    elem_lista* ant;
};
void inserare_inceput(elem_lista* &prim)
{
    elem_lista * lista= new elem_lista;
   cout<<"Numele este: ";
   cin>>lista->nume;
   cout<<"Anul nasterii este: ";
   cin>>lista->an;
   if (prim != NULL)
   prim->ant = lista;

   lista->ant = NULL;
   lista->urm=prim;
   prim=lista;
}

void inserare_sfarsit(elem_lista* &prim)
{
    elem_lista * lista= new elem_lista;
   cout<<"Numele este: ";
   cin>>lista->nume;
   cout<<"Anul nasterii este: ";
   cin>>lista->an;
   lista->urm=NULL;
   lista->ant=NULL;
   if(prim==NULL) prim=lista;
   else
    {
    elem_lista *nod = prim;
    while (nod->urm != NULL)
    nod = nod->urm;
    nod->urm = lista;
    lista->ant = nod;
    }
}

void inserare_mijloc(elem_lista* &prim, elem_lista*p)
{
    elem_lista * lista= new elem_lista;
   cout<<"Numele este: ";
   cin>>lista->nume;
   cout<<"Anul nasterii este: ";
   cin>>lista->an;
    lista->urm = NULL;
    lista->ant = NULL;
   elem_lista* nod=prim;
       if (prim == NULL)
        {
           prim = lista;
            return;
        }
    if (prim == p)
    {
        lista->urm = prim;
        prim->ant = lista;
        prim= lista;
            return;
    }

    lista->urm = p->urm;
    lista->ant = p;
    p->urm->ant = lista;
    p->urm = lista;


}


void afisare(elem_lista* lista)
{
    while (lista != NULL)
    {
    cout<<"Nume= "<<lista->nume<<endl;
    cout<<"An nastere= "<<lista->an<<endl;
    cout<<"Adresa curenta este: "<<lista<<endl;
    lista=lista->urm;
    }
}

int main()
{
   elem_lista* prim=NULL;
   elem_lista* prim1;
   char o;
    do
    {
        cout<<"Alegeti modalitate de isnerare la inceput 1 la sfarsit 2 sau terminare sau 3 mijloc";
        cin>>o;
        if(o=='1')
           inserare_inceput(prim);
            if(o=='2')
                inserare_sfarsit(prim);
             if(o=='3')
                inserare_mijloc(prim,peim1);
    }while(o!='0');
    afisare(prim);
    return 0;
}
                      
                                       
Pentru a distribui această postare, copiați această adresă URL și trimiteți-o prietenilor
RAW Paste Data