Se consideră o listă liniară dublu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:
struct nod
{
int info;
nod *ant, *urm;
};
în care câmpul info memorează un număr întreg, câmpul ant memorează adresa elementului anterior al listei, iar campul urm memorează adresa elementului următor al listei.
Cerința
Să se scrie o funcție C++ cu următorul prototip:
void FLdiAdDupa(nod *&prim, nod *&ultim, int x)
Primul nod are adresa memorată în pointerul prim si ultimul nod are adresa memorata in pointerul ultim. Lista conține cel puțin un nod. Funcția va insera după nodul care memorează informația minimă un nou nod care va reține valoarea x. Informațiile din noduri sunt distincte, deci va exista un singur nod cu informația minimă. De exemplu, dacă lista reține valorile 5,3,6,2,8, atunci după apelul FLdiAdDupa(prim, ultim, 100), lista va fi 5,3,6,2,100,8.
Restricții și precizări
- numele funcției va fi
FLdiAdDupa - lista inițială conține cel puțin un nod
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.

