Una lista puntata (semplice) ha una gestione sequenziale: gli elementi si possono scorrere in un unico verso. Inoltre, nella lista è sempre possibile individuare un primo elemento (testa) e un ultimo elemento (coda)-
Nella precedente lezione abbiamo visto l’implementazione delle seguenti operazioni su liste
Oggi implementeremo inoltre le seguenti operazioni
Sia L una lista definita da
struct lista {int val; struct lista *next;} L;
Scrivere in linguaggio C una funzione ricorsiva che preso in input L e un intero el, verifichi se esiste una occorrenza di el nella lista
Idea per la soluzione dell’esercizio:
Scorrere in avanti la lista in chiamate ricorsive e
altrimenti, ritornare il risultato della chiamata ricorsiva su L->next
Sia L una lista definita da
struct lista {int val; struct lista *next;} L;
Scrivere in linguaggio C una funzione ricorsiva che preso in input L e un intero el, rimuova una ricorrenza di el dalla lista (se ne esiste una).
Idea per la soluzione dell’esercizio:
Scorrere in avanti la lista in chiamate ricorsive e
Sia L una lista definita da
struct lista {int val; struct lista *next;} L;
Scrivere in linguaggio C una funzione ricorsiva che preso in input L, la modifichi in modo tale che ogni numero dispari sia seguito dal suo successore pari.
Idea per la soluzione dell’esercizio:
Al ritorno dalle chiamate ricorsive:
Ritornare la lista L.
Si implementi in linguaggio C un menù di scelta multipla per la gestione “con funzioni ricorsive” di tutte le operazioni viste in precedenza. Dunque il menù permettere le seguenti operazioni:
L’esercizio completo va consegnato via mail al tutor entro 5 giorni lavorativi.
1. Introduzione al Corso - Il Linguaggio C (I parte)
2. Linguaggio C – Seconda Parte
3. Ordinamento, Ricorsione e Code di Priorità
4. Esercitazione su Ricorsione e Code di Priorità
5. Stack e Code
6. Esercitazione di Laboratorio su Stack e Code
7. Implementazioni di Liste puntate
8. Esercitazione di laboratorio su Liste Puntate Semplici
9. Implementazioni di Liste Doppiamente Puntate e Circolari
10. Esercitazione di laboratorio su Liste Doppiamente puntate
12. Esercitazione di laboratorio su Alberi Binari di Ricerca
13. Alberi Binari di Ricerca. Cancellazione di un nodo
14. Esercizio di Laboratorio. Gioco su alberi
15. Grafi: Implementazione ed operazioni di base
16. Esercitazione di laboratorio: Implementazione operazioni di bas...
17. Grafi: Inserimento e Cancellazione di un nodo. Visite in ampiez...
18. Esercitazione di laboratorio: Problema del venditore Prima part...
19. Componenti fortemente connesse e alberi minimi di copertura
20. Esercitazione di laboratorio: Problema del venditore Seconda pa...