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 *leg;
};
în care câmpul info memorează un număr întreg. Lista conține cel puțin trei noduri.
Cerinţa
Să se scrie o funcție C++ cu următorul prototip:
void F_ADD(Nod *head, int x, int y);
Lista are cel puțin trei noduri și are adresa primului element memorată în pointerul head. Funcția va adăuga înainte de al doilea nod al listei un nou nod cu valoarea x și de asemenea va adăuga înainte de ultimul nod din listă un nou nod cu valoarea y. De exemplu, dacă lista conține inițial informațiile 1,2,3,4,5,6, x=33 și y = 44, atunci după adăugări lista va fi: 1,33,2,3,4,5,44,6.
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.