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;
};
Câmpul info memorează un număr întreg, iar câmpul urm memorează adresa următorului element al listei.
Cerinţa
Se dă o listă care memorează numere întregi distincte. Adresa listei este memorată în pointerul head. Să se scrie o funcție C++ cu următorul antet:
void MakeList(nod *&head, int a[], int n)
Vectorul a memorează n numere întregi și este indexat de la 0 la n-1. Funcția va crea o listă simplu înlănțuită care să memoreze în nodurile sale cele n numere întregi din vector, în ordinea în care se află în a. Pointerul head va memora în final adresa primului nod din listă.
Restricţii şi precizări
1 ≤ n ≤ 100
Exemplu:
Dacă a = 1,2,3,4,5, atunci după apelul funcției head = 1,2,3,4,5.
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.