Quick actions

cmd+k|ctrl+k

Navigation

Languages

PILHA

Snippet info

Language

Csharp

Visibility

public

Author

zalgo

Created

2020-07-01T20:54:46Z

Updated

2020-07-01T21:59:24Z

using System;
using System.Collections;

class Trabalho{
    
    static void imprime (IEnumerable mPilha){  //imprime valores
        foreach(Object obj in mPilha)             //para cada objeto dentro da pilha...
            Console.Write(" {0} ,", obj);       //mostrar em tela
    }
   
    static void vazia (Stack mPilha){     //checa existencia de valores dentro da pilha
       if(mPilha.Count >= 1){               //maior ou igual a 1
           Console.Write("Pilha preenchida.\n");
        }else{                              //hipotese default sendo 0
           Console.Write("Pilha vazia.\n");
        }
    }
    
    public static void Main() {
    //               - PILHA -
    // Uma estrutura de pilha é fácilmente analisada em relação ao seu contraparte de mesmo nome na vida real
    // Uma pilha de coisas é melhor adicionada/removida uma por uma, LIFO = Último a entrar, primeiro a sair
    // No código foi colocado 4 objetos de texto e demonstrados sua posição, logo após o objeto no topo (Impressora) foi retirado via .Pop
    // A pilha tem valor de big O(1) se for fazer uma ação de >push ou >pop enquanto uma com loop, como >imprime seria O(n)
    
    Stack mPilha = new Stack(); //Cria classe do tipo Stack de acordo com System.Collections;
    vazia(mPilha);
    mPilha.Push("Unisagrado");  //Primeiro objeto da pilha, fica na base dela
    mPilha.Push("Curso");
    mPilha.Push("Computador");
    mPilha.Push("Impressora");  //Último objeto da pilha, ficando no seu topo
    Console.WriteLine("Quantidade de objetos:{0}",mPilha.Count);
    vazia(mPilha);
    Console.Write("Valores a partir do topo:");
    imprime(mPilha);
    mPilha.Pop();       //Retira o objeto no topo da pilha
    Console.Write("\nValores a partir do topo:");
    imprime(mPilha);
    }
}

INFO