Questo repository è principalmente rivolto agli studenti di Fondamenti di Informatica II e Lab del Corso di Laurea Triennale in Ingegneria Informatica del Dipartimento di Ingegneria "Enzo Ferrari" dell'Università degli Studi di Modena e Reggio Emilia. Il repository contiene le primitive di liste, alberi e heap viste a lezione ed usate per le esercitazioni.
La struttura del progetto è la seguente:
.
├── elemtype
| ├── int
| | ├── elemtype.h
| | ├── elemtype.c
| ├── char
| | ├── elemtype.h
| | ├── elemtype.c
| ├── int_vector
| | ├── elemtype.h
| | ├── elemtype.c
| ├── ...
├── list
| ├── int
| | ├── examples
| | | ├── ins_ord.c
| | | ├── iterate.c
| ├── int_vector
| | ├── examples
| | | ├── iterate.c
| ├── list.h
| ├── list.c
├── tree
├── minheap
├── ...
Come potete notare, il codice relativo ad una specifica struttura dati si trova in una sottocartella con lo stesso nome: list, tree, minheap. Per ognuna di queste viene fornita un'unica implementazione generica che non dipende dal tipo di dato. Le dichiarazioni e le definizioni di ElemType per uno specifico tipo di dato le trovate in sottocartelle di elemtype, rispettivamente nei file .h e .c. Le implementazioni di liste, alberi, e heap devono essere accompagnate da un'implementazione specifica di ElemType per funzionare correttamente.
Ad esempio, nella cartella list troviamo i file list.h e list.c che forniscono l'implementazione delle liste e che dovranno essere accompagnati dalla definizione di ElemType e dall'implementazione delle funzioni a esso associate. Se vogliamo utilizzizare liste di int, ad esempio, avremo bisogno anche dei file elemtype>int>elemtype.h e elemtype>int>elemtype.c.
Nelle sottocartelle examples sono disponibili dei file .c contenenti delle funzioni di esempio di utilizzo delle primitive.
Il restante materiale è utilizzato per la gestione del repository: generazione automatica della documentazione, generazione del progetto, ecc e può essere pertanto ignorato. Nel seguito di questa pagina troverete i link alla documentazione delle primitive e i link per il download diretto di primitive specifiche, ovvero primitive accompagnate ad una specifica implementazione di ElemType.
Funzioni Primitive e Documentazione
In questa sezione vengono forniti i link per il download diretto delle funzioni primitive di diverse strutture dati, eventualmente accompagnate dai file che definiscono e implementano l'ElemType per uno specifico tipo di dato. Vengono inoltre forniti i link alle pagine web contenenti la documentazione.
| Tipo di Dato | Documentazione | Sorgente |
|---|---|---|
| no elemtype (solo liste) |
list.html | list.zip |
int |
list_int.html | list_int.zip |
char |
list_char.html | list_char.zip |
int-vector |
list_int_vector.html | list_int_vector.zip |
point2d |
list_point2d.html | list_point2d.zip |
| Tipo di Dato | Documentazione | Sorgente |
|---|---|---|
| no elemtype (solo liste) |
doublelist.html | doublelist.zip |
int |
doublelist_int.html | doublelist_int.zip |
| Tipo di Dato | Documentazione | Sorgente |
|---|---|---|
| no elemtype (solo alberi) |
tree.html | tree.zip |
int |
tree_int.html | tree_int.zip |
char |
tree_char.html | tree_char.zip |
| Tipo di Dato | Documentazione | Sorgente |
|---|---|---|
| no elemtype (solo heap) |
minheap.html | minheap.zip |
int |
minheap_int.html | minheap_int.zip |
| Tipo di Dato | Documentazione | Sorgente |
|---|---|---|
int |
elemtype_int.html | elemtype_int.zip |
char |
elemtype_char.html | elemtype_char.zip |
int-vector |
elemtype_int_vector.html | elemtype_int_vector.zip |
point2D |
elemtype_point2d.html | elemtype_point2d.zip |
