creare la struttura del nodo di dati e la struttura della lista . Affinché l' elenco collegato di funzionare come una coda , la lista deve contenere nodi capaci di riferimento al nodo successivo nella lista e due puntatori che riferimento l'inizio e la fine della lista . Queste strutture di esempio mostrano un modello di base per la lista nodi e la struttura di coda:
struct nodo {
dati int
;
struct * nodo successivo ;
} ;
struct queue_list {
struct * primo nodo ; //puntatore al primo elemento
struct nodo * ultimo ; //puntatore all'ultimo elemento
}
2
Implementare un algoritmo di inserimento dati . In una coda , il programma dovrebbe sempre accodare i dati alla fine della lista . Inoltre , la lista deve fare riferimento l'ultimo elemento , in modo da inserimenti futuri sappiano su quale fine da aggiungere. L' esempio seguente mostra un semplice algoritmo per aggiungere un nodo con i dati su una coda :
void insert ( struct * coda q , int value ) {
struct nodo * newnode = malloc ( sizeof ( struct nodo ) ) ;
newnode - > data = value;
newnode - > next = NULL;
if ( q - > primo == NULL ) {
q - > primo = q - > ultima = newnode ; //se la lista è vuota , primo e ultimo = newnode
}
else { < br
q - > last - > next = newnode > ; //append newnode dopo l'ultimo elemento
q - > ultima = ultimo - > next ; //punto "ultimo" puntatore al nuovo nodo
}
}
3
implementare un algoritmo di rimozione . Questo algoritmo prenderà il valore dal primo nodo della lista . Poi , si punterà alla " prima " puntatore al nodo successivo ed eliminare il primo nodo . Questo renderà il nodo successivo la nuova prima posizione nella lista, pronta per la rimozione. L' esempio seguente mostra un algoritmo per raggiungere questo obiettivo :
int remove ( struct coda * q ) {
int value = q- > primo - > dati;
struct nodo * temp = q - > prima ;
q - > primo = q - > primo - > next ; //sposta il primo puntatore all'elemento successivo
libero ( temp) ; //cancella il vecchio primo nodo
valore di ritorno ; //restituisce il primo valore;
}
4
dichiarare e utilizzare una coda . Il programmatore può dichiarare una coda come variabile di tipo " struct coda " e utilizzare le funzioni definite per aggiungere e rimuovere elementi . Il seguente esempio mostra come dichiarare e utilizzare una struttura di coda :
int main ( ) {
struct coda q ;
inserto
( & q , 5) ; //impieghi un riferimento a " q " per evitare copie poco profonde
inserto
( & q , 6) ;
int x = togliere ( & q ) ; //x = 5
Programmazione © www.354353.com