#include using namespace std; struct nod {int info; nod *next;}; nod *p,*u ; // acceseaza primul respective ultimul nod int n; //numarul de noduri void cre_ad() //functia de creare si adaugare a unui nou element {nod *c; if(!p) //daca lista este vida (p==0) se aloca primul nod {p=new nod; cout<<"valoare primului nod "; cin>>p->info; u=p; //la creare primul si ultimul nod vor fi identici } else //altfel se adauga un nou element la sfarsit { c=new nod; //se aloca un nou nod cout<<"informatia utila :"; cin>>c->info; //se completeaza campul informatie utila u->next=c; //se adauga dupa ultimul nod u=c; //se stabileste noul nod c ca fiind ultimul } u->next=0; //campul adresa urmatoare a ultimului nod este 0 } void afis() //functia de afisare parcurge elementele cu afisare {nod *c; c=p; //se porneste de la primul nod din lista while(c) //cat timp c retine o adresa nenula {cout<info<<" ";//se afiseza campul informatie utila c=c->next;} //se avanseaza la urmatoarea adresa, la urmatorul nod cout<