Considerate il programma in calce, salvatelo in un programma con estensione .c
, quindi inserite nel file le risposte alle seguenti domande.
Giustificate le risposte facendo riferimento alle porzioni di codice in cui si trovano gli elementi utili a rispondere, e inserendo dei commenti direttamente nel codice.
Potete modificare il main e/o aggiungere funzioni ausiliare, per fare degli esperimenti e comprendere il funzionamento del programma.
/* Rispondete alle seguenti domande giustificando le risposte facendo riferimento alle porzioni di codice in cui si trovano gli elementi,e inserendo dei commenti direttamente nel codice.1. Per cosa si usa la struttura List?INSERIRE LA RISPOSTA...2. Se t è una variabile di tipo Dict, cosa rappresenta t -> array[3] ?INSERIRE LA RISPOSTA...3. Cosa succede se si tenta di inserire nella tabella di hashun Item con una chiave già presente nella tabella?INSERIRE LA RISPOSTA...4. Cosa succede se si prova a cercare nel dizionario una chiave che non c'è?INSERIRE LA RISPOSTA....*/typedef struct item*Item;Itemvoid// ELEMENTO DI LISTAstruct element;// LISTA DI COLLISIONEtypedef struct element *List;Item ;List ; // crea nuovo elemento, lo inserisce in testa alla catena e restituisce l'indirizzo della nuova testavoid ;// DIZIONARIO IMPLEMENTATO CON HASHTABLEtypedef struct ht*Dict;Dict ;Item ; // Restituisce l'Item con chiave key, oppure NULL se key non è nel dizionariovoid ; // aggiunge l'item p nel dizionariounsigned long ; // funzione di hash/* MAIN**************/int/* FUNZIONI DI GESTIONE DELLA CHAIN (lista)*******************************************/// Inserisce in testa e restituisce la nuova testa.List/* Cerca un item con chiave key nella list c. Se lo trova ne restituisce l'indirizzo, altrimenti restituisce NULL. */Item/* Stampa gli elementi della Lista di trabocco */void/* FUNZIONI DI GESTIONE DELLA HASHTABLE*******************************************/// Crea una hastable di con HASHSIZE bucketsDict// funzione di hashunsigned long// cerca l'item con chiave keyItem// inserisce l'item nel dizionariovoid