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 |