public static void Main()
Pilha pilha = new Pilha();
Console.WriteLine("Empilhado 3");
Console.WriteLine("Empilhado 7");
Console.WriteLine("Empilhado 1");
Console.WriteLine("Empilhado 5");
Console.WriteLine("Empilhado 6");
Console.WriteLine("Empilhado 9");
Console.WriteLine("Empilhado 4");
Pilha clone = pilha.getClone();
int valorDesempilhado = pilha.desempilhar();
while(valorDesempilhado != -1){
Console.WriteLine("Valor desempilhado: " + valorDesempilhado);
valorDesempilhado = pilha.desempilhar();
valorDesempilhado = clone.desempilhar();
while(valorDesempilhado != -1){
Console.WriteLine("Valor desempilhado (pilha clone): " + valorDesempilhado);
valorDesempilhado = clone.desempilhar();
public Celula(int dado, Celula proximo){
public void empilhar(int dado){
this.proximo = new Celula(dado, proximo);
public int desempilhar(){
Pilha pilhaAux = new Pilha();
pilhaAux.empilhar(aux.dado);
Pilha clone = new Pilha();
clone.empilhar(aux.dado);