‫E neste vídeo, você aprenderá como usar tanques em C Sharp, então como você pode adicionar dados a uma pilha, como
‫você pode editar dados em uma pilha e assim por diante.
‫Então, em primeiro lugar, vamos ver como podemos definir um palito e podemos definir um bife da mesma forma
‫que definimos qualquer coleção.
‫Portanto, aqui você tem a palavra-chave stack.
‫E para usar texto, você precisa adicionar o seguinte namespace.
‫Portanto, usar coleções genéricas para que você possa ver as pilhas são coleções genéricas e isso significa que elas
‫têm as vantagens e desvantagens das coleções genéricas.
‫Portanto, precisamos definir o tipo que queremos empilhar.
‫E neste exemplo, vou empilhar um monte de INTs nesta pilha que chamei de Stack.
‫Isso pode ser chamado de minha pilha ou como você quiser, mas basicamente esse é o
‫meu bastão ao qual desejo adicionar dados.
‫Para agregar valor à sua pilha, você precisa usar este método push para inserir um objeto no topo
‫da pilha.
‫Portanto, em nosso caso, o objeto será do tipo inteiro.
‫Então, você pode apenas dizer push e, em seguida, inserir o item que deseja adicionar a ele.
‫Então, digamos que eu perguntei a ele.
‫Então, isso vai empurrar um para a nossa pilha.
‫Agora, se você quiser ver o que a ação tem no nível superior, podemos dar uma olhada.
‫Portanto, isso retornará o elemento no topo da pilha sem removê-lo.
‫Portanto, este é o pico tecnológico.
‫Este é o método que nos dará no nosso caso, este, porque não temos mais nada na pilha.
‫E basicamente esse é o item que está no topo da pilha.
‫OK, então se tivéssemos que adicionar mais itens aqui, então é claro que o último item adicionado
‫à pilha seria aquele que será exibido usando a instrução da linha certa.
‫Então, vamos dar uma olhada rápida para ver o que temos lá.
‫E você pode ver que o valor máximo da aposta é um.
‫Agora, se fossemos adicionar outro valor aqui, então um três três sete, por exemplo, e executarmos isso novamente,
‫então o item no topo da pilha será um três três sete.
‫Então, agora vamos apenas empurrar para adicionar um monte de itens à pilha e também dar uma olhada neles, porque isso irá mostrar que
‫cada vez que você escolher, você verá apenas o último item que foi adicionado
‫à pilha .
‫Portanto, o valor máximo da pilha é um.
‫Então nós empurramos você para isso.
‫O valor máximo nas apostas também e assim por diante.
‫Agora, se você quiser remover um item da pilha, podemos usar stack, dot, pop.
‫OK, isso removerá o item e Pop o devolverá.
‫Portanto, neste caso, ele retornará um número inteiro.
‫Portanto, poderíamos armazenar esse número inteiro aqui no meu item da pilha, por exemplo.
‫E eu posso então, por exemplo.
‫Esta placa aqui.
‫E vamos chamar este item quente agora, vamos executá-lo novamente, e você verá que os três serão
‫estourados.
‫OK, agora se fôssemos espiar mais uma vez.
‫Então aqui, vamos espiar mais uma vez depois de abrirmos o item e você verá que será, na verdade, dois e não
‫mais três.
‫Para que sejamos, o item superior é três e o valor superior no bife será dois,
‫então você pode armazenar o item usando pop e depois usá-lo, mas ele não estará mais nesta pilha.
‫Portanto, é assim que você remove um item da pilha.
‫Agora, você tem que ter muito cuidado com isso, entretanto, porque se você tentar fazer isso,
‫você estará no topo onde não temos itens na pilha, isso causará um erro.
‫Então, vamos executar isso bem rápido.
‫E você pode ver que nada acontece aqui e nosso aplicativo está, de fato, travando.
‫Portanto, obtemos uma exceção de operação inválida aqui, porque não podemos retirar de uma pilha vazia.
‫Não há nada de onde sair.
‫Portanto, é sempre útil verificar primeiro.
‫Então, só se a pilha contar.
‫Portanto, a quantidade de itens é maior que zero é quando eu quero executar isso.
‫Portanto, isso é algo que você deve levar em consideração ao usar palitos e que sempre
‫verifica primeiro.
‫Se houver algo para abrir, se você quiser abrir um item ou excluir um item da pilha.
‫Assim, por exemplo, poderíamos criar um loop while que excluirá itens da pilha até que não
‫haja mais itens.
‫Então, vá em frente e tente você mesmo, crie um pequeno loop while que fará exatamente o que eu disse.
‫Então, basicamente, vamos nos livrar de todos os itens e, em seguida, parar a execução assim que todos os itens forem retirados
‫da pilha.
‫OK, espero que você tenha tentado.
‫Basicamente, vamos verificar se o segundo foi criado em zero?
‫Se for esse o caso, retire o item da pilha.
‫Além disso, podemos exibi-lo diretamente em nosso console e também exibiremos a quantidade restante de itens ao
‫mesmo tempo.
‫Então, vamos executar isso bem rápido e veremos como ele se move para três.
‫Então, restam apenas dois itens.
‫Em seguida, remove os dois, um item restante e, em seguida, remove aquele e nenhum item restante.
‫Como você pode ver, os elementos que retiramos da pilha estão no caminho oposto.
‫Nós os empurramos.
‫Portanto, é ao contrário.
‫Isso significa que estamos usando o conceito letal aqui último a entrar, primeiro a sair, o que basicamente significa que o
‫último elemento que entrou em uma pilha será o primeiro elemento a sair do stick.
‫Então, vamos dar uma olhada na reversão de uma matriz.
‫Agora você vê como as pilhas funcionam, como se livrar de itens, adicionar itens e assim por diante.
‫Portanto, vamos considerar esta matriz que temos aqui.
‫Portanto, é uma matriz de números com um monte de inteiros.
‫Portanto, agora eu gostaria de revertê-los.
‫Portanto, vamos definir uma pilha que cuidará disso.
‫Portanto, em primeiro lugar, precisamos definir uma nova pilha.
‫E, na verdade, você pode tentar fazer isso por si mesmo.
‫Portanto, tente construir você mesmo este pequeno aplicativo, onde os números serão invertidos.
‫Portanto, os números dentro dessa matriz de números devem ser invertidos e apenas exibidos na ordem
‫inversa.
‫Portanto, você não precisa armazená-los em uma matriz separada.
‫Você deve apenas exibi-los na ordem inversa em seu console.
‫OK, então, primeiro de tudo, irei exibir os itens que tenho em minha matriz de números.
‫Então, aqui estão os números no carro e estamos usando um para cada loop que exibe os números e também os
‫estamos adicionando à pilha desta forma.
‫OK, então estamos empurrando-os para este deck.
‫Esta é uma maneira de fazer isso.
‫Claro, existem outras maneiras de você ter feito isso, mas é assim que fazemos.
‫OK, exibimos o número e, em seguida, um espaço vazio e, em seguida, adicionamos esse item à nossa pilha.
‫Então, o erro que criamos e então só precisamos ter certeza de que estamos exibindo os números ao
‫contrário.
‫Então, aqui estou eu usando o conceito, certo.
‫É hora de criar uma quebra de linha.
‫E então estou dizendo que os números ao contrário são e então exibimos os números.
‫Portanto, verificamos se a pilha ainda contém itens.
‫E enquanto a contagem for maior que zero, sabemos que ainda há itens na pilha e retiramos
‫o último item.
‫Nós o armazenamos como um inteiro e então o exibimos.
‫Agora, é claro, você poderia ter pulado esta etapa e feito diretamente assim, onde você estala
‫os itens imediatamente.
‫Essa teria sido uma forma alternativa.
‫Mas agora esta é uma maneira pela qual você poderia usar esse item, porque agora você tem esse número, embora em nosso
‫caso particular, é claro, não estejamos usando número em lugar nenhum.
‫Mas caso você queira usar, você sabe como guardá-lo em algum lugar.
‫Tudo bem.
‫Portanto, agora vamos executar o aplicativo e realmente ver se funcionou.
‫Então você pode ver que este é o nosso array.
‫E você vê que esta é a versão reversa disso.
‫Dois, seis, sete, quatro, três, dois, oito.
‫Tudo bem.
‫E é basicamente assim que você pode reverter e avaliar.
‫Portanto, se você conseguir inverter a atribuição e a taxa agora, saberá como fazer isso.
‫As pilhas são uma ferramenta incrível para isso.
‫Mas é claro, os técnicos são muito úteis em muitas outras situações, sempre que você quiser usar um
‫sistema letal.
‫Portanto, o sistema last in first out, há muitos aplicativos por aí, aplicativos do mundo real
‫também, onde você realmente precisará deste sistema.
‫Tudo bem.
‫Então é isso para este vídeo.
‫Vejo vocês no próximo, onde veremos Kyuss.