C # - Classe Stack
Rappresenta una raccolta di oggetti last-in, first out. Viene utilizzato quando è necessario un accesso per ultimo agli elementi. Quando aggiungi un elemento nell'elenco, viene chiamato push dell'elemento e quando lo rimuovi, viene chiamato popping l'elemento.
Metodi e proprietà della classe Stack
La tabella seguente ne elenca alcuni di uso comune properties del Stack classe -
Sr.No. | Proprietà e descrizione |
---|---|
1 | Count Ottiene il numero di elementi contenuti nello Stack. |
La tabella seguente elenca alcuni dei file di uso comune methods del Stack classe -
Sr.No. | Metodo e descrizione |
---|---|
1 | public virtual void Clear(); Rimuove tutti gli elementi dallo Stack. |
2 | public virtual bool Contains(object obj); Determina se un elemento è nello Stack. |
3 | public virtual object Peek(); Restituisce l'oggetto in cima allo Stack senza rimuoverlo. |
4 | public virtual object Pop(); Rimuove e restituisce l'oggetto in cima allo Stack. |
5 | public virtual void Push(object obj); Inserisce un oggetto nella parte superiore della pila. |
6 | public virtual object[] ToArray(); Copia lo Stack in un nuovo array. |
Esempio
L'esempio seguente mostra l'uso di Stack:
using System;
using System.Collections;
namespace CollectionsApplication {
class Program {
static void Main(string[] args) {
Stack st = new Stack();
st.Push('A');
st.Push('M');
st.Push('G');
st.Push('W');
Console.WriteLine("Current stack: ");
foreach (char c in st) {
Console.Write(c + " ");
}
Console.WriteLine();
st.Push('V');
st.Push('H');
Console.WriteLine("The next poppable value in stack: {0}", st.Peek());
Console.WriteLine("Current stack: ");
foreach (char c in st) {
Console.Write(c + " ");
}
Console.WriteLine();
Console.WriteLine("Removing values ");
st.Pop();
st.Pop();
st.Pop();
Console.WriteLine("Current stack: ");
foreach (char c in st) {
Console.Write(c + " ");
}
}
}
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
Current stack:
W G M A
The next poppable value in stack: H
Current stack:
H V W G M A
Removing values
Current stack:
G M A