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.