Linked List
Implementează o listă simplu înlănțuită de la zero. Creează o clasă Nod cu câmpurile valoare și urmator, și o clasă ListaInlantuita cu operațiile adauga, elimina și afiseaza.
Procesează comenzile de la stdin.
Date de intrare
- Linia 1: numărul de comenzi N (1 <= N <= 2·10^4)
- Pentru fiecare comandă:
- Linia 1: tipul comenzii (
adauga,eliminasauafiseaza) - Doar pentru
adaugașielimina, linia 2: numărul întreg X (orice valoare de tipint)
- Linia 1: tipul comenzii (
Comportament:
adauga X: adaugă numărul întreg X la sfârșitul listeielimina X: elimină prima apariție a lui X (afișeazăNegasitdacă X nu se află în listă)afiseaza: afișează toate elementele separate prin->, sauGoaladacă lista este goală
Rezultat
- Pentru fiecare
afiseaza: elementele în ordine separate prin->, sauGoala - Pentru fiecare
eliminaeșuat:Negasit
Exemple
Intrare:
6
adauga
10
adauga
20
adauga
30
afiseaza
elimina
20
afiseaza
Ieșire:
10 -> 20 -> 30
10 -> 30
Intrare:
4
adauga
5
elimina
5
elimina
5
afiseaza
Ieșire:
Negasit
Goala
Intrare:
5
adauga
1
adauga
2
adauga
3
elimina
1
afiseaza
Ieșire:
2 -> 3
Eliminarea nodului cap înseamnă că referința cap a listei trebuie
mutată chiar ea către al doilea nod. Nu există un nod „anterior” de relegat.