Crea stack in C ++

Crea stack in C ++

Uno stack è una struttura di dati di base che funge da elenco lineare contenente i suoi elementi. In questo caso, l'articolo viene aggiunto a un'estremità dell'elenco, noto come top, e gli articoli vengono rimossi dallo stesso lato. Ciò significa che l'elemento inserito nella prima posizione verrà rimosso alla fine. Possiamo creare, eliminare o aggiornare gli elementi.

Nuova creazione di stack

Per creare un nuovo stack, dobbiamo includere prima la libreria dello stack per eseguire tutte le funzioni applicate allo stack.

Modello > Stack di classe

I valori presenti nella sintassi sono "tipo" che mostra il tipo di elemento presente nello stack. Può essere qualsiasi tipo come intero, galleggiante, ecc. Il secondo è il "contenitore" che è il tipo di oggetto del contenitore attualmente sottosoprito.

Operazioni di stack

Le operazioni primarie dello stack sono spiegate di seguito:

  • Spingere: La funzione push () inserisce gli elementi nello stack. Controlla prima se lo stack è già pieno, questa condizione è nota come una condizione di overflow.
  • Pop: Questa funzione pop () rimuove l'elemento dallo stack. In un momento, solo un singolo articolo viene rimosso dallo stack. Gli elementi vengono rimossi nell'ordine inverso in cui sono stati inseriti dalla funzione push (). La situazione di essere uno stack vuoto è nota per essere uno stack di underflow.
  • Sbirciare o top: Questa funzione restituisce l'elemento che è l'elemento superiore nello stack.
  • è vuoto: È un'espressione booleana che restituisce vera se lo stack è già vuoto, ma se non è vuoto, questa funzione restituisce falso.

Applicazioni in pila

La funzione Redo-Condo è molto comune tra i redattori di testo o gli editori di foto come Photoshop e MS Word è un esempio dello stack.

Durante l'utilizzo di un browser Web, vediamo le opzioni in avanti e all'indietro per le pagine di recente chiusura.

Lo stack è anche usato come gestione della memoria; I computer moderni possono utilizzare lo stack come gestione primaria per i programmi in esecuzione.

Tecniche di lavoro / algoritmo di stack

  • Un puntatore che si chiama top viene utilizzato per prendere il record dell'elemento che è in cima alla pila.
  • Abbiamo uno stack vuoto nella fase iniziale, quindi la parte superiore è impostata in una posizione -1. Il motivo per farlo è che il vuoto dello stack viene controllato facilmente. Questo viene fatto confrontandolo con top == 1.
  • Il passo successivo è spingere l'oggetto, quindi a quel punto, aumentiamo il valore massimo e quindi posizioniamo il nuovo elemento nella posizione puntata dalla parte superiore.
  • Nel caso dell'applicazione della funzione pop (), restituiamo l'elemento puntato dalla parte superiore e quindi il valore corrente della parte superiore viene ridotto.
  • Due cose dovrebbero essere controllate al momento della spinta e della popping elementi. Allo stesso modo, prima di scoppiare, abbiamo verificato se lo stack era vuoto o no.

Implementazione dello stack

Esempio 1

Come descritto sopra, prima di iniziare il programma principale, dobbiamo aggiungere la libreria dello stack nel file di intestazione del nostro programma.

#includere

Questa libreria contiene tutte le operazioni e le funzioni associate, quindi dovrebbe essere utilizzata. Abbiamo usato lo spazio dei nomi per utilizzare tutte le classi senza chiamare. Nel programma principale, abbiamo applicato una semplice logica per dimostrare ogni operazione di stack in una singola riga.

Abbiamo creato uno stack per archiviare i valori dei tipi di dati interi.

Pila st.

Per immettere i valori nello stack, abbiamo usato manualmente la funzione push (). Ogni volta che questa funzione verrà chiamata dall'oggetto che creiamo. Usiamo push () per inserire i valori a partire da 50 a 80. Dopo l'inserimento, dobbiamo esprimere il valore usando il pop (). Usando questa funzione, l'elemento superiore dello stack che è 80 verrà rimosso e ora 70 diventerà l'elemento superiore. Usando nuovamente la funzione pop (), rimuoveremo il numero 70 e ora l'elemento superiore è 60. Alla fine, usiamo il ciclo while per garantire che lo stack sia pieno. Se è vero, viene applicata la funzione pop (). Il corpo del ciclo while è terminato.

Utilizza il compilatore G ++ per compilare ed eseguire il codice sorgente. "Pila.c ӏ il nome di un file.

stack $ g ++ -o.C.
$ ./pila

Puoi vedere che quando il programma viene eseguito, entrambi i valori immessi alla fine vengono rimossi dallo stack lavorando sulla tecnica LIFO.

Esempio 2

Andando avanti verso il secondo esempio, ciò comporta l'interazione dell'utente. Tutte le operazioni dello stack sono applicate separatamente in questo programma. Mostriamo anche tutti gli elementi dello stack. Nel programma principale, ogni funzione viene chiamata in base al valore che l'utente inserisce durante l'esecuzione. Ora a partire dalla prima operazione dello stack utilizzando STD dello spazio dei nomi, la funzione inizia. Qui abbiamo dichiarato lo stack a livello globale con il tipo di dati interi di 100 lunghezze di elementi. La funzione push riceve il valore dal programma principale che l'utente immetterà. All'interno della funzione, l'istruzione IF-ELSE viene utilizzata per verificare se lo stack non è pieno. Se lo stack non è vuoto, viene visualizzato un messaggio all'utente; Altrimenti, il valore viene inserito. E il valore migliore è aumentato.

Allo stesso modo, nel caso della funzione pop (), il valore superiore viene verificato se è inferiore a -1 posizione indica che lo stack è vuoto, quindi il messaggio viene visualizzato altro, il valore viene visualizzato.

Usiamo un ciclo 'per' per mostrare tutti gli elementi inseriti da push () nello stack per visualizzare tutti gli elementi.

Un menu intuitivo viene creato nel programma principale per ottenere l'opzione utente.

Vengono visualizzate 4 opzioni. Se l'utente seleziona il primo, questa sarà la funzione push. A tale scopo, abbiamo usato un'istruzione switch. Il compilatore passa la scelta immessa e il programma viene eseguito.

Successivamente, eseguire il codice; Ora vedrai un menu che appare in esecuzione del codice riuscita. Innanzitutto, selezioneremo la prima opzione per inserire i valori. I valori verranno inseriti le prime quattro volte, quindi visualizzeremo tutti i valori selezionando l'opzione numero 3.

Tutti i valori verranno visualizzati qui. Ora dobbiamo far emergere l'ultimo valore che abbiamo inserito. Quindi seleziona l'opzione 2. Questo rimuoverà il valore superiore. La selezione di nuovamente l'opzione pop rimuoverà nuovamente il valore più in alto.

Conclusione

L'articolo "Crea Stack in C ++" coinvolge il sistema operativo Linux per implementare il programma nel linguaggio di programmazione C ++. L'attuale guida contiene l'utilizzo di base e la dichiarazione dello stack in C++. Abbiamo usato due esempi che coinvolgono il funzionamento dello stack. Alcuni esempi di routine quotidiani dello stack sono anche menzionati in questo articolo.