Codigos Fonte, Artigos e Dicas
Classes de Coleção + Queue e Stack
Já vimos diversos tipos de Array a já aprendemos o que são Classes de Coleção, se você não viu ou não conhece procure nos Posts Relacionados no final da página.
Hoje vamos ver a Classe de Coleção Queue e Stack.
Queue
Essa classe utiliza o famoso conceito FIFO (First-in, First-out: primeiro a entrar, primeira a sair).
Imagine 3 potes vc enche o pote 1, o pote 2 e o pote 3, o pote 1 foi o primeiro a ser preenchido, agora você vai esvaziar o pote 1 depois o pote 2 e em seguida o pote 3. Pronto!
using System;
using System.Collections;
// instânciamos uma nova fila
Queue novaFilaN = new Queue();
// Criamos um array com valores
int[] nums = new int[]{2, 4, 6, 7, 8, 9};
// inserimos valores na fila
foreach (int numeros in nums)
{
novaFilaN.Enqueue(numeros);
Console.WriteLine(numeros + "<- Enfileramos\n");
}
Console.WriteLine("\n Nossa Fila está assim: ");
// percorremos a fila
foreach (int num in novaFilaN)
{
Console.WriteLine(num);
}
Console.WriteLine("\n --- Agora vamos retirar os valores da fila --- \n");
// esvaziamos a fila
while (novaFilaN.Count > 0)
{
int number = (int)novaFilaN.Dequeue();
/** O casting é nesessário pois a Classe de Coleção Queue
* é uma classe Generalizada e armazena os valores como object
* OBS: Não confundam classes Generalizadas com classes Genéricas
*/
Console.WriteLine(number + " <- Retiramos ");
}
A saída vai ser essa:
Stack
A classe Stack implementa o mecanismo LIFO (Last-In, First-Out, último a entrar é o primeiro a sair).
É como uma pilha de pratos, o último prato colocado é o primeiro a ser retirado da pilha =D
Stack pilha = new Stack();
int[] numeros = new int[] { 2, 4, 6, 7, 8, 9 };
foreach (int num in numeros)
{
pilha.Push(num);
Console.WriteLine(num + " <- empilhamos\n");
}
Console.WriteLine("\n Nossa Pilha está assim: ");
// percorremos a pilha
foreach (int numbs in pilha)
{
Console.WriteLine(numbs);
}
Console.WriteLine("\n --- Agora vamos retirar os valores da fila --- \n");
//esvaziamos a pilha
while (pilha.Count > 0)
{
int number = (int)pilha.Pop();
Console.WriteLine(number + " <- Retiramos da Pilha");
}
A saída será essa:
Até a próxima!
Posts Relacionados
| Imprimir artigo | Este artigo foi escrito por Alexandre Santos em 21 21UTC outubro 21UTC 2009 às 22:06, e está arquivado em C# Linguagem. Siga quaisquer respostas a este artigo através do RSS 2.0. Você pode deixar uma resposta ou fazer um trackback do seu próprio site. |



