Come implementare una coda usando due stack

Autore: Laura McKinney
Data Della Creazione: 3 Aprile 2021
Data Di Aggiornamento: 18 Novembre 2024
Anonim
Prog II - Implemento una CODA - queue: a FIFO Data Structure
Video: Prog II - Implemento una CODA - queue: a FIFO Data Structure

Contenuto

Queue è una struttura dati dinamica da cui è possibile accedere ai dati in un processo "first-come, first-out". Uno stack è una struttura dati dinamica da cui è possibile accedere ai dati in un processo "last-in, first-out". Se implementi uno stack, sarà disponibile solo l'ultimo elemento inserito. Se vuoi accedere ai dati che ne sono alla base (il primo elemento che hai inserito), lo tratterai come una coda. Per fare ciò, è necessario implementare un secondo heap.


indicazioni

L'implementazione di una coda utilizzando due stack è semplice (Ablestock.com/AbleStock.com/Getty Images)

    Due pile equivalgono a una fila

  1. Nell'editor di testo, scrivere il codice per implementare lo stack in base alle procedure e alle funzioni disponibili nel linguaggio di programmazione che si desidera utilizzare. Chiama questo stack Stack_Entry. Inserisci i dati nello Stack_Entry (molti linguaggi di programmazione usano il comando "push" per aggiungere dati). Ad esempio, eseguire il comando "push" in Stack_Entry per immettere i dati nel seguente ordine: "A", "B" e "C". "A" è il primo a entrare e si trova in fondo alla pila. Se si desidera accedere a questo primo elemento, si trattano i dati come una coda.

  2. Scrivere il codice per implementare un secondo stack in base alle procedure e alle funzioni disponibili nel linguaggio di programmazione che si desidera utilizzare. Chiamalo StackSafe (molti linguaggi di programmazione usano il comando "pop" per rimuovere i dati da una pila).


  3. Rimuovi ogni elemento dallo stack Stack_Insert e posizionali nello Stack Sonno. In termini generali, si rimuove un oggetto Stack_Input e lo si inserisce in StackAid. Quindi verifichi se Stack_Input è vuoto. Se non è vuoto, rimuovi l'elemento successivo da Stack_Input e posizionalo nello Sleep Stack. Ripeti fino a quando Stack_Input è vuoto. Nel nostro esempio, rimuovi "C" da Stack_Input e mettilo in Stack_Aid. Assicurati che InputPilot sia vuoto. Rimuovi "B" da Stack_Input e impostalo su Stack_Aid. Assicurati che InputPilot sia vuoto. Rimuovi "A" da Stack_Input e impostalo su Stack_Aid. Assicurati che InputPilot sia vuoto.

  4. Quando lo stack Stack_Path è vuoto, l'elemento che si trova nella base Stack_Input ("A" nel nostro esempio) si trova ora nella parte superiore di Stack_Aside. Rimuovi l'elemento SleepSeat e hai trasformato lo stack in una coda. Il tuo primo oggetto in pila è ora il primo oggetto da estrarre (primo dentro, primo fuori o FIFO in primo, primo fuori).


suggerimenti

  • La maggior parte dei linguaggi di programmazione fornisce funzioni per trattare i dati in un vettore come se fosse una coda o uno stack. Cioè, puoi accedere sia alla prima sia alla prima posizione del vettore, indipendentemente da quale parte stai inserendo i dati. Se i tuoi dati sono in un vettore, non devi preoccuparti di accedervi come coda o stack. Ma se i tuoi dati sono in un heap dinamico e vuoi trattarli come una coda, allora dovresti implementare un secondo stack.

Cosa ti serve

  • Un editor di testo
  • Un compilatore o interprete per alcuni linguaggi di programmazione

Come usare lo iodio in una ferita canina

Laura McKinney

Novembre 2024

I notri animali dometici ono parti importanti della notra famiglia come componenti umane. I notri amati cani ono i notri compagni in meglio e in peggio, ma ono anche inclini a offerenze, graffi e altr...

Con l'aumento della preione per il riparmio energetico, molte perone coniderano l'energia olare come una oluzione. Le pompe dell'acqua guidate dalla luce olare ono un eempio di riparmio di...

Interessante