C - ADT (Abstract Data Type)


Un ADT in ambito informatico è un tipo di dato astratto utilizzato per gestire in modo ottimizzato alcune strutture dati utili ed importanti come gli alberi, binari e non, i grafi, le liste, le pile, ma anche particolari configurazioni personalizzazioni di queste strutture utili alla risoluzione di generici problemi.
Nel linguaggio di programmazione C non esiste un vero e proprio metodo fornito dal linguaggio per la definizione di queste strutture dati; vengono pertanto create sfruttando la possibilità di usare più file nel codice sorgente, e quindi gestire la struttura di cui si vuole creare l’ADT in un file separato, accessibile dal file principale tramite i metodi e le definizioni presenti nel file header (file di estensione .h).
E’ possibile definire due diverse tipologie di ADT, il quasi ADT e l’ADT di prima classe; il quasi ADT possiede nell’header oltre ai metodi per la gestione della struttura dati, anche la definizione stessa della struttura dati, nell’ADT di prima classe invece la struttura dati non è definita nell’header corrispondente ma è accessibile solo dai metodi che la gestiscono, nascondendo la loro composizione all’esterno.

Es.

Quasi ADT

list.h

struct list{
int val;
struct list *next;
}

void addnodo(struct list *list);

ADT 1° classe

list.h

typedef struct list * listpointer;

void addnodo(listpointer list);

Hai bisogno di aiuto in Informatica?
Trova il tuo insegnante su Skuola.net | Ripetizioni
Registrati via email