Pilha C # com exemplo

Índice:

Anonim

O que é Stack em C #?

A pilha é uma coleção de casos especiais que representa um conceito último a entrar, primeiro a sair (LIFO). Para entender primeiro o UEPS, vamos dar um exemplo. Imagine uma pilha de livros com cada livro um sobre o outro.

O conceito de último a entrar, primeiro a sair, no caso de livros, significa que apenas o primeiro livro pode ser removido da pilha de livros. Não é possível remover um livro do meio, porque isso perturbaria a configuração da pilha.

Portanto, em C #, a pilha também funciona da mesma maneira. Os elementos são adicionados à pilha, um em cima do outro. O processo de adicionar um elemento à pilha é chamado de operação push. Para remover um elemento de uma pilha, você também pode remover o primeiro elemento da pilha. Esta operação é conhecida como pop.

Vejamos as operações disponíveis para a coleção Stack com mais detalhes.

Declaração da pilha

Uma pilha é criada com a ajuda do tipo Stack Data. A palavra-chave "novo" é usada para criar um objeto de uma Pilha. O objeto é então atribuído à variável st.

Stack st = new Stack()

Adicionando elementos à pilha

O método push é usado para adicionar um elemento à pilha. A sintaxe geral da instrução é fornecida abaixo.

Stack.push(element)

Removendo elementos da pilha

O método pop é usado para remover um elemento da pilha. A operação pop retornará o elemento superior da pilha. A sintaxe geral da instrução é fornecida abaixo

 Stack.pop()

Contar

Esta propriedade é usada para obter o número de itens na Pilha. Abaixo está a sintaxe geral desta declaração.

Stack.Count

Contém

Este método é usado para ver se um elemento está presente na Pilha. Abaixo está a sintaxe geral desta declaração. A instrução retornará verdadeiro se o elemento existir, caso contrário, retornará o valor falso.

Stack.Contains(element)

Agora vamos ver isso funcionando em um nível de código. Todo o código mencionado abaixo será escrito em nosso aplicativo de console. O código será escrito em nosso arquivo Program.cs.

No programa abaixo, escreveremos o código para ver como podemos usar os métodos mencionados acima.

Exemplo 1

Neste exemplo, veremos

  • Como uma pilha é criada.
  • Como exibir os elementos da pilha e usar os métodos Count e Contain.

using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Stack st = new Stack();st.Push(1);st.Push(2);st.Push(3);foreach (Object obj in st){Console.WriteLine(obj);}Console.WriteLine(); Console.WriteLine();Console.WriteLine("The number of elements in the stack " +st.Count);Console.WriteLine("Does the stack contain the elements 3 "+st.Contains(3));Console.ReadKey();}}}

Explicação do código: -

  1. A primeira etapa é usada para declarar a Pilha. Aqui estamos declarando "st" como uma variável para conter os elementos de nossa pilha.
  2. Em seguida, adicionamos 3 elementos à nossa pilha. Cada elemento é adicionado por meio do método Push.
  3. Agora, uma vez que os elementos da pilha não podem ser acessados ​​por meio da posição do índice como a lista de vetores, precisamos usar uma abordagem diferente para exibir os elementos da pilha. O Object (obj) é uma variável temporária, que é declarada para conter cada elemento da pilha. Em seguida, usamos a instrução foreach para percorrer cada elemento da pilha. Para cada elemento da pilha, o valor é atribuído à variável obj. Em seguida, usamos o comando Console.Writeline para exibir o valor no console.
  4. Estamos usando a propriedade Count ( st.count ) para obter o número de itens na pilha. Esta propriedade retornará um número. Em seguida, exibimos esse valor no console.
  5. Em seguida, usamos o método Contains para ver se o valor de 3 está presente em nossa pilha. Isso retornará um valor verdadeiro ou falso. Em seguida, exibimos esse valor de retorno no console.

Se o código acima for inserido corretamente e o programa for executado, a seguinte saída será exibida.

Resultado:

Na saída, podemos ver que os elementos da pilha são exibidos. Além disso, o valor de True é exibido para dizer que o valor de 3 está definido na pilha.

Nota : você notou que o último elemento colocado na pilha é exibido primeiro. Este é o elemento superior da pilha. A contagem de elementos da pilha também é mostrada na saída.

Exemplo 2

Agora vamos dar uma olhada na funcionalidade "remover". Veremos o código necessário para remover o elemento superior da pilha.

using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace DemoApplication{class Program{static void Main(string[] args){Stack st = new Stack();st.Push(1);st.Push(2);st.Push(3);st.Pop();foreach (Object obj in st){Console.WriteLine(obj);}Console.ReadKey();}}}

Explicação do código: -

  1. Aqui, apenas emitimos o método pop que é usado para remover um elemento da pilha.

Se o código acima for inserido corretamente e o programa for executado, a seguinte saída será exibida.

Resultado:

Podemos ver que o elemento 3 foi removido da pilha.

Resumo

  • Uma pilha é baseada no conceito de último a entrar, primeiro a sair. A operação de adicionar um elemento à pilha é chamada de operação push. A operação de remoção de um elemento da pilha é chamada de operação pop.