Nwlapcug.com


Come fare una funzione di coda nella sintassi C

I programmatori utilizzano le code per rappresentare strutture di dati che funzionano dal primo componente, linea guida FIFO (First Out). Ciò significa che i dati immessi nella struttura verranno aggiunti a un elenco di dati, e i dati che sono stato nell'elenco il più lungo sarà il primo ad essere rimosso. Nel linguaggio di programmazione C, un programmatore migliore implementa una forma fondamentale di questa struttura utilizzando un elenco collegato e vari puntatori per mantenere l'ordine dei dati.

Istruzioni

1

Creare la struttura del nodo di dati e la struttura dell'elenco. Affinché l'elenco collegato alla funzione come una coda, l'elenco deve contenere nodi in grado di fare riferimento al nodo successivo nell'elenco e due puntatori che fanno riferimento all'inizio e alla fine dell'elenco. Queste strutture di esempio mostrano un modello di base per l'elenco di nodi e la struttura della coda:

struct nodo {

dati int;

struct * nodo successivo;

};

struct {queue_list

struct * nodo primo; puntatore al primo elemento

struct * ultimo nodo; puntatore all'ultimo elemento

}

2

Implementare un algoritmo di inserimento dati. In una coda, il programma dovrebbe sempre aggiungere i dati alla fine dell'elenco. Inoltre, l'elenco deve fare riferimento all'ultimo elemento, così futuri inserimenti sapere su quale fine da aggiungere. Nell'esempio seguente viene illustrato un semplice algoritmo per aggiungere un nodo con dati su una coda:

Sub insert (struct * coda q, int valore) {

struct * nodo newnode = malloc (sizeof (struct nodo));

newNode -> dati = value;

newNode -> next = NULL;

Se (q -> primo = = NULL) {

q -> primo = q - > Ultima = newnode; Se l'elenco è vuoto, il primo e l'ultimo = newnode

}

else {

q -> Ultimo - > next = newnode; aggiungere newnode dopo ultimo elemento

q -> ultima = ultima -> next; scegliere "ultimo" puntatore del nuovo nodo

}

}

3

Implementare un algoritmo di rimozione. Questo algoritmo porterà il valore dal primo nodo nell'elenco. Quindi, sarà scegliere il "primo" puntatore al nodo successivo ed eliminare il primo nodo. Questo renderà il nodo successivo la nuova prima posizione nell'elenco, pronti per la rimozione. Nell'esempio seguente viene illustrato un algoritmo per eseguire questa operazione:

rimuovere int (struct * coda q) {

int valore = q - > prima -> dati;

struct * temp nodo = q -> primo;

q -> primo = q - > prima -> next; il primo puntatore all'elemento successivo

Free(Temp); Elimina il vecchio nodo primo

restituire il valore; 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. Nell'esempio seguente viene illustrato come dichiarare e utilizzare una struttura di coda:

int Main () {

struct coda q;

Inserisci (& q, 5); utilizza un riferimento a "q" per evitare copie superficiali

Inserisci (& q, 6);

int x = Rimuovi (& q); x = 5