Come implementare una coda in c

Come implementare una coda in c
Una struttura di dati in C è un metodo per organizzare e salvare i dati in memoria. Il linguaggio C include molte strutture di dati utente intrinseche e definite che possono essere applicate per archiviare e modificare i dati in vari modi. Una delle principali strutture di dati definite dall'utente è code. Code sono spesso utilizzati nel campo dell'informatica per attività come la gestione dei pacchetti di sistema e la gestione degli eventi.

Questo articolo discuterà di tutti gli aspetti di code e ombreggiare l'implementazione di code Nella programmazione C.

Cosa sono le code in C

IL coda è una struttura di dati con flessibilità le cui dimensioni possono essere aumentate in risposta alla domanda. Elementi di vari tipi di dati possono essere archiviati in coda. IL coda viene fatto usando il primo approccio in primo luogo. IL coda La struttura per i dati è utile se è necessario recuperare i dati nello stesso formato in cui è stato salvato.

Operazioni di coda di base in c

Accodare: Questa azione sposta un oggetto dal lato finale del coda.

Dequeue: L'operazione eliminerà il componente all'inizio del coda.

Davanti: Questa azione restituisce il primo valore in a coda senza eliminarlo.

È vuoto: Questa operazione controlla se il coda è nullo o no.

Posteriore: L'elemento puntatore supervisiona il recupero della finale coda elemento.

Implementazione delle code in C tramite array

L'implementazione del code è molto semplice usando array per salvare coda elementi. Ci sono due punti principali in code; Uno è il posteriore puntatore che è utile per aggiungere elementi davanti al code E l'altro è davanti che è utile per rimuovere elementi dal coda. Entrambi i suggerimenti sono uguali a -1 quando il coda è zero. Il puntatore posteriore non può fare un passo avanti quando il coda è pieno dei suoi elementi.

Quello che segue è un array basato su coda Implementazione della struttura dei dati nella programmazione C.

#includere
Int coda [100];
anteriore int, posteriore = -1;
int vuoto ()
return (front == -1 && posteriore == -1);

int full ()
restituire (posteriore == 100-1);

void enqueue (int value)
if (full ())
printf ("La coda anteriore è piena: l'errore si è verificato \ n");
ritorno;

else if (vuoto ())
anteriore, posteriore = 0;

altro
posteriore ++;

coda [posteriore] = valore;

void dequeue ()
if (vuoto ())
printf ("L'errore si verifica poiché la coda è null \ n");
ritorno;

else if (front == posteriore)
anteriore, posteriore = -1;

altro
front ++;


int front_element ()
if (vuoto ())
printf ("L'errore si verifica poiché la coda è vuota \ n");
restituzione -1;

restituire coda [fronte];

void print_queue ()
if (vuoto ())
printf ("coda è null \ n");

altro
printf ("elementi delle code sono:");
per (int i = front; i<= rear; i++)
printf ("%d", coda [i]);

printf ("\ n");


int main ()
Enqueue (2);
Enqueue (5);
Enqueue (88);
Enqueue (46);
Enqueue (3);
coda di stampa();
printf ("Dopo aver chiamato la funzione Dequeue. \N");
dequeue ();
coda di stampa();
printf ("L'elemento presente davanti alla coda è: %d \ n", front_element ());
restituzione 0;

Nell'implementazione di cui sopra, per dimostrare che la coda è vuota, entrambi posteriore E davanti gli indici sono impostati su (-1). L'esecuzione inizia dal file principale() funzione dove accodare() La funzione inserisce un componente a coda posteriore aumentando il posteriore indice durante l'impostazione del coda Il valore di Array al nuovo creato posteriore indice al valore fornito. Aumentando l'indice anteriore, il dequeue () Il metodo elimina il componente che è in prima linea nel coda. IL front_element () Il metodo restituisce ciò che viene archiviato al coda davanti, mentre il coda di stampa() Il metodo stampica il coda componenti.

Produzione

Conclusione

IL coda è una struttura di dati con una disposizione lineare che utilizza il modello FIFO, il che significa che l'elemento che è stato aggiunto al coda Il primo verrà ritirato per primo. Fornisce un rapido inserimento e una cancellazione di coda elementi. In termini di allocazione della memoria, code sono efficienti. L'articolo di cui sopra ti ha mostrato varie operazioni che possono essere eseguite su code.