fisica:informatica:201617:esercitazione8
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Prossima revisione | Revisione precedente | ||
| fisica:informatica:201617:esercitazione8 [05/05/2017 alle 12:19 (9 anni fa)] – creata Susanna Pelagatti | fisica:informatica:201617:esercitazione8 [18/05/2017 alle 09:48 (9 anni fa)] (versione attuale) – [Esercizio 5: Array sparsi (//a la Python//) implementati come liste] Susanna Pelagatti | ||
|---|---|---|---|
| Linea 49: | Linea 49: | ||
| e sviluppare un main() che ne testa il funzionamento. | e sviluppare un main() che ne testa il funzionamento. | ||
| - | ===== Esercizio 4: (avanzato) Verificare i memory leak con '' | + | ===== Esercizio 4: Liste con doppio puntatore |
| + | Realissare le funzioni degli esercizi precedenti utilizzando liste con puntatore al precedente e al successivo | ||
| + | < | ||
| + | typedef struct elem_d { | ||
| + | double val; | ||
| + | struct elem_d * prec; | ||
| + | struct elem_d * next; | ||
| + | } elem_d_t ; | ||
| + | </ | ||
| + | in questo caso la lista puo' essere definita ad esempiocome una struttura con due puntatori, uno alla testa ed uno alla coda | ||
| + | < | ||
| + | typedef struct lista_d { | ||
| + | struct elem_d * head; | ||
| + | struct elem_d * tail; | ||
| + | } lista_d_t ; | ||
| + | </ | ||
| + | come si modificano gli algoritmi sviluppati precedentemente ? | ||
| + | |||
| + | ===== Esercizio 5: Array sparsi (//a la Python//) implementati come liste ===== | ||
| + | Vogliamo realizzare degli array di double di grandi dimensioni che contengono solo una piccola percentuale di elementi diversi da 0 come liste concatenate definite come | ||
| + | < | ||
| + | typedef struct sparse_d { | ||
| + | double val; | ||
| + | unsigned index; | ||
| + | struct elem_d * next; | ||
| + | } sparse_d_t ; | ||
| + | </ | ||
| + | nella lista sono presenti solo gli elementi diversi da zero e per ogni elemento e' indicato l' | ||
| + | Realizzare le funzioni '' | ||
| + | < | ||
| + | double put (sparse_d_T * a, unsigned indice); | ||
| + | sparse_d_t * put (sparse_d_T * a, double x, unsigned indice); | ||
| + | </ | ||
| + | |||
| + | ===== Esercizio 6: (avanzato) Verificare i memory leak con '' | ||
| Con riferimento al main sviluppato per l' | Con riferimento al main sviluppato per l' | ||
| Linea 77: | Linea 111: | ||
| questo rispondera' | questo rispondera' | ||
| - | ===== Esercizio | + | ===== Esercizio |
| Verificare la correttezza degli accessi ai puntatori dello heap compiuti dalle funzioni su liste sviluppate negli esercizi precedenti utilizzando '' | Verificare la correttezza degli accessi ai puntatori dello heap compiuti dalle funzioni su liste sviluppate negli esercizi precedenti utilizzando '' | ||
fisica/informatica/201617/esercitazione8.1493986760.txt.gz · Ultima modifica: 05/05/2017 alle 12:19 (9 anni fa) da Susanna Pelagatti
