Sunteți pe pagina 1din 3

Lista Circular Simplu nlnuit este

aproape similar cu Lista Liniar Simplu


nlnuit. Diferenele sunt urmtoarele:
nodul tail (ultim) este legat de
nodul head (prim), n acest caz lista nu mai are
nceput sau sfrit. Mai jos este o imagine ce
ilustreaz conceptul de list circular simplu
nlnuit (LC):
#include<iostream.h>
struct nod{
int info;
nod *urm;
}*prim, *ultim, *p, *nou;
void creare(){
int x; cin>>x;
if(!prim){prim=new nod;
prim->info=x;
prim->urm=prim;
ultim=prim;}
else{ nou=new nod;
nou->info=x;
nou->urm=prim;
ultim->urm=nou;
ultim=nou;;}}
void afisare(){
p=prim;
while(p->urm!=prim){
cout<<p->info<<" ";
p=p->urm;}
cout<<p->info;}
main(){
prim=NULL;
int n;
cout<<"n="; cin>>n;
for(int i=0;i<n;i++)
creare();
afisare();
}
x
Dac lista este
goal:
prim
Dac lista nu este
goal:
5 4 7
prim ultim x
nou
ultim
Creare: