Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come fare una funzione Queue nella sintassi C

I programmatori usano le code per rappresentare strutture di dati che opera dal First In , First Out ( FIFO ) linea guida . Questo significa che tutti i dati inseriti nella struttura potranno aggiungere a un elenco di dati , ed i dati che sono stati nella lista il più lungo sarà il primo ad essere rimosso. Nel linguaggio di programmazione C , un programmatore migliore implementa una forma di base di tale struttura utilizzando una lista collegata e vari puntatori per mantenere l'ordine dei dati . Istruzioni
1

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