Informatică, întrebare adresată de Andreas123321, 9 ani în urmă

Se consideră o listă liniară simplu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:
struct nod{
int info;
nod * urm;
};
în care câmpul info memorează un număr întreg, iar câmpul urm memorează adresa următorului element al listei.

Cerinţa
Să se scrie o funcție C++ cu următorul prototip:

void adaugare(nod * & p , int x);
care adaugă valoarea x la sfârșitul listei pentru care primul element are adresa memorată în pointerul p.

Restricţii şi precizări
numele funcției va fi adaugare
dacă lista nu conține niciun element, pointerul p va avea valoarea NULL
în toate cazurile, la ieșirea din apel p va memora adresa primului element al listei

Răspunsuri la întrebare

Răspuns de pitutdorap8b13f
10

void adaugare (nod *&p,int x)

{nod *q,*t;

if (p==NULL)

{p=new nod;

p->info=x;

p->urm=0;

}

else

{for (q=p;q->urm!=0;q=q->urm);

t=new nod;

t->info=x;

t->urm=0;

q->urm=t;

}

}

Alte întrebări interesante