Oggi ho ripreso a lavorare al progetto per il corso di Laboratorio di Algoritmi e strutture dati.
Tra le cose che ho fatto:
- Aggiunta possibilità di estrazione dalla testa della lista, nella libreria lista
- Creata l’interfaccia per la gestione di un insieme di vertici
- Iniziata la prima bozza per la versione dell’insieme di vertici basato su array
Per quanto riguarda l’ultimo punto ho creato una struct così formata:
struct jvset_tag { J_VERTEX **Vertices; /**< Array contenente i vertici */ int NumActiveVertices; /**< Numero di vertici inseriti nell'insieme */ int NextFreeIndex; /**< Indice della prossima locazione libera */ int Size; /**< Numero totale di vertici */ J_LIST *FreeList; /**< Lista delle locazioni libere */ };
Ho scritto anche le funzioni per la gestione dell'inizializzazione dell'insieme e per la relativa deallocazione.
Il prossimo passo è scrivere le funzioni di aggiunta e rimozione dei vertici.
Sto pensando però che forse dovrei tenere traccia anche delle locazioni dell'array occupate, e non solo di quelle libere, per permettere di effettuare la visita solo sui vertici effettivamente inseriti e non su tutta la dimensione dell'array.
Leave a Reply