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

#1168 Pbinfo
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
Important
Soluţia propusă va conţine definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.

Răspunsuri la întrebare

Răspuns de morcov64
2

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