Sunteți pe pagina 1din 4

#include <iostream>

using namespace std;

typedef struct n
{
float inf;
n * urm;
}nod;
nod *primul, *ultimul, *curent;
void initializare_lista()
{
nod *aux=new nod;
cout<<"Ce informatie doriti sa stocati in acest nod?"<<endl;
cin>>aux->inf;
primul=aux;
primul->urm=NULL;
ultimul=primul;
}
void adaugare_la_sfarsit()
{
if(primul==NULL)
initializare_lista();
else
{
nod *aux=new nod;

cout<<"Ce informatie doriti sa stocati in acest nod?"<<endl;


cin>>aux->inf;
ultimul->urm=aux;
aux->urm=NULL;
ultimul=aux;

}
}
void parcurgere ()
{
if(primul==NULL)
cout<<"Lista nu exista. Nu am ce parcurge"<<endl;
else
{
cout<<"Incep parcurgerea listei: "<<endl;
nod *aux=primul;
while(aux!=NULL)
{
cout<<aux->inf<<endl;
aux=aux->urm;
}
}
}
void stergere_primul()
{
if(primul==NULL)

cout<<"Lista nu exista. Nu am ce sa sterg"<<endl;


else
{

nod *aux=primul;
cout<<"Sterg nodul cu continutul: "<<aux->inf<<endl;
primul=primul->urm;
delete aux;

}
}
void adaugare_inainte_de_ultim()
{
nod *aux=primul;
while(aux->urm!=ultimul)
aux=aux->urm;
nod *aux2=new nod;
cout<<"Ce informatie doriti sa stocati in acest nod?"<<endl;
cin>>aux2->inf;
aux2->urm=ultimul;
aux->urm=aux2;

}
int main()
{
adaugare_la_sfarsit();

adaugare_la_sfarsit();
adaugare_la_sfarsit();
adaugare_la_sfarsit();
adaugare_la_sfarsit();
parcurgere();
stergere_primul();
parcurgere();
adaugare_inainte_de_ultim();
parcurgere();
return 0;
}

S-ar putea să vă placă și