C # - Classe Stack
Representa uma coleção de objetos do último a entrar, primeiro a sair. É usado quando você precisa de um acesso último a entrar, primeiro a sair dos itens. Quando você adiciona um item na lista, isso é chamado de empurrar o item e quando você o remove, é chamado de puxar o item.
Métodos e propriedades da classe Stack
A tabela a seguir lista alguns comumente usados properties do Stack classe -
Sr. Não. | Descrição da Propriedade |
---|---|
1 | Count Obtém o número de elementos contidos na Pilha. |
A tabela a seguir lista alguns dos comumente usados methods do Stack classe -
Sr. Não. | Método e Descrição |
---|---|
1 | public virtual void Clear(); Remove todos os elementos da pilha. |
2 | public virtual bool Contains(object obj); Determina se um elemento está na pilha. |
3 | public virtual object Peek(); Retorna o objeto no topo da pilha sem removê-lo. |
4 | public virtual object Pop(); Remove e retorna o objeto no topo da pilha. |
5 | public virtual void Push(object obj); Insere um objeto no topo da Pilha. |
6 | public virtual object[] ToArray(); Copia a pilha para uma nova matriz. |
Exemplo
O exemplo a seguir demonstra o uso de 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 o código acima é compilado e executado, ele produz o seguinte resultado -
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