Concetti Chiave
- La coda è una struttura dati di tipo FIFO, dove il primo elemento inserito è il primo ad essere rimosso.
- Le operazioni principali della coda includono isEmpty(), isFull(), cancella() e inserisci().
- In C++, la coda viene implementata utilizzando una struttura che rappresenta gli elementi e un puntatore per il link tra di essi.
- La funzione init() inizializza i puntatori della coda a NULL, preparando la struttura per l'uso.
- L'operazione di inserimento crea un nuovo elemento e aggiorna i puntatori di inizio e fine della coda.
ADT Coda
Struttura dati FIFO (First In First Out)
Operazioni:
isEmpty()
isFull()
cancella()
inserisci()
Implementazione della coda in C++
struct elem{
int num;
struct elem *link;
};
int main()
{
elem * testa;
elem * coda;
init(testa, coda);
}
void init (elem * &testa, elem *&coda)
{
testa = NULL;
coda = NULL;
}
void insert ( elem * & inizio,elem * & fine, int num)
{
elem * temp;
temp=new elem;
temp->num=num;
temp->link=NULL;
if (inizio==NULL)
inizio=temp;
else
fine->link=temp;
fine=temp;
}
void cancella(elem * & inizio, elem * &fine)
{
elem *temp;
temp=inizio;
inizio=inizio->link;
if(inizio==NULL)
fine=NULL;
delete(temp);
}
int vuota(elem * inizio)
{
if(inizio==NULL)
return 1;
else
return 0;
}
Domande da interrogazione
- Qual è la struttura dati utilizzata per implementare la coda nel codice fornito?
- Quali sono le operazioni principali che possono essere eseguite sulla coda?
- Come viene gestita l'inizializzazione della coda nel codice?
La coda è implementata come una struttura dati FIFO (First In First Out), utilizzando una lista collegata di elementi.
Le operazioni principali sono: `isEmpty()`, `isFull()`, `cancella()` e `inserisci()`, che gestiscono rispettivamente il controllo se la coda è vuota, l'inserimento di un nuovo elemento e la rimozione del primo elemento.
L'inizializzazione della coda avviene nella funzione `init()`, dove i puntatori `testa` e `coda` vengono impostati a NULL, indicando che la coda è vuota all'inizio.