3527 – FȘterge Duplicate
Enunţ
Se consideră o listă liniară simplu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:
struct Nod{ int val; Nod *next; };
în care câmpul val memorează un număr întreg, iar câmpul next memorează adresa următorului element al listei.
Valorile din listă sunt ordonate crescător.
Cerința
Să se scrie o funcție C++ cu următorul prototip:
void FStergeDuplicate(Nod *&L); Funcția primește ca parametru un pointer L la o listă simplu înlănțuită care are valorile din noduri în ordine crescătoare. Funcția trebuie să elimine nodurile care conțin valori duplicate. De exemplu, dacă lista conține valorile 3,3,3,5,6,7,7,7,7,20, atunci după eliminarea duplicatelor, lista va conține 3,5,6,7,20.
Restricții și precizări
- numele funcției va fi FStergeDuplicate.
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. Rezolvarea se va face în python.
Rezolvare
<syntaxhighlight lang="python" line>
- 3527 FStergeDuplicate
</syntaxhighlight>