Aprenda gerenciar filas ou pilhas em .Net
Aprenda manipular os modelos FIFO e LIFO
Hoje iremos aprender explorar um pouco mais o namespace System.Collections. Irei mostrar como podemos trabalhar com os modelos FIFO (First-In, First-Out) e LIFO (Last-In, First-Out) no .NET Framework, para isso iremos utilizar as seguintes classes Queue e Stack.
Em muitos cenários é muito comum precisarmos de utilizar uma fila ou pilha na hora do processamento, e muitas das vezes por falta de conhecimento nós criamos nossas próprias classes para gerenciar este processamento.
Trabalhando com FILAS – FIFO
O funcionamento de uma fila é semelhante a uma fila de banco, a primeira pessoa que entra na fila será a primeira pessoa a ser atendida, com isso usaremos o modedo FIFO (First-In, First-Out).
Para implementarmos nossa fila iremos fazer uso da classe Queue, como podemos ver abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
//Instanciando a classe que se encontra no namespace System.Collections Queue q = new Queue(); //Adicionando 5 elementos na fila q.Enqueue(1); q.Enqueue(2); q.Enqueue(3); q.Enqueue(4); q.Enqueue(5); Console.WriteLine("Exibindo ordem da fila:"); //Lê todos elementos e exibi e remover o primeiro while (q.Count > 0) { Console.WriteLine(q.Dequeue()); } //Exibe a quantidade de elementos restantes, ou seja, zero Console.WriteLine("A lista agora possui " + q.Count.ToString() + " elementos."); Console.Read(); |
O resultado deste código será assim:
Exibindo ordem da fila:
1
2
3
4
5
a lista agora possui 0 elementos.
Como podemos ver o primeiro que entrou na fila é o primeiro a sair, ou seja, funciona por ordem de chegada.
Trabalhando com PILHAS – LIFO
O funcionamento de pilhas é semelhante a uma pilha de louças, pratos, copos e etc. Imagine quando você vai lavar pratos, você sempre coloca um em cima do outro formando uma pilha e neste cenário o primeiro prato a ser lavado é o último, ou seja, LIFO (Last-In, First-Out) o último que chega é o primeiro a ser atendido.
Para implementarmos nossa pilha iremos fazer uso da classe Stack, como podemos ver abaixo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
//Instanciando a classe que se encontra no namespace System.Collections Stack s = new Stack(); //Adicionando 5 elementos na pilha //Push insere um objeto (recebido como parâmetro) no fim da lista. s.Push(1); s.Push(2); s.Push(3); s.Push(4); s.Push(5); Console.WriteLine("Exibindo elementos da pilha:"); //Enquanto houver elementos na lista, exibir e remover o primeiro while (s.Count > 0) { //Pop: retorna e remove o elemento do topo da pilha, ou seja, o último que foi inserido. Console.WriteLine(s.Pop()); } //Exibe a quantidade de elementos restantes, ou seja, zero Console.WriteLine("A lista agora possui " + s.Count.ToString() + " elementos."); Console.Read(); |
O resultado deste código será assim:
Exibindo elementos da pilha:
5
4
3
2
1
A lista agora possui 0 elementos.
Considerações finais
Como podemos ver é bem fácil trabalharmos com filas ou pilhas no .Net, gostaria ressaltar que fizemos este exemplo em C#, mas as mesmas classes estão disponíveis para o Visual Basic.Net
Você já usou algumas destas classes? De seu depoimento aqui nos comentários!
Até a próxima pessoal!
About author
You might also like
Participe do bate papo ao vivo sobre o TFS
Share this on WhatsAppE ai pessoal beleza? Bom espero que sim, hoje dando uma passada nos grupos de tecnologia no WhatsApp, percebi que algumas pessoas estavam com dúvida de como
Treinamento de como aprender a programar
Share this on WhatsAppVeja como iniciar sua carreira no mundo da programação Atualmente existem milhares de programadores espalhados pelo mundo, mesmo assim não faltam oportunidades no mercado de trabalho, pelo
Como obter o melhor de cada tecnologia
Share this on WhatsAppDescubra como achar as melhores referencias, frameworks, scripts e etc Fala galera, hoje resolvi escrever um post bem interessante onde irei ensinar como eu faço para descobrir
0 Comments
No Comments Yet!
You can be first to comment this post!