public void Empilhar(T elemento) { Celula <T> nova = new Celula <T>(elemento); if (TotalDeElementos == 0) { Topo = nova; Inicio = nova; } else { Topo.Proxima = nova; nova.Anterior = Topo; Topo = nova; } TotalDeElementos++; }
public void Desempilhar() { if (EstaVazia()) { throw new Exception("Pilha vazia"); } if (TotalDeElementos == 1) { Topo = null; Inicio = null; } else if (Topo != null) { Topo.Anterior.Proxima = null; Topo = Topo.Anterior; } TotalDeElementos--; }
public override string ToString() { // Verificando se a Lista esta vazia if (TotalDeElementos == 0) { return("[]"); } StringBuilder builder = new StringBuilder("["); Celula <T> atual = Inicio; // Percorrendo ate o penultimo elemento. for (int i = 0; i < TotalDeElementos - 1; i++) { builder.Append(atual.Elemento); builder.Append(", "); atual = atual.Proxima; } // ultimo elemento builder.Append(atual.Elemento); builder.Append("]"); return(builder.ToString()); }
public void Limpar() { Topo = null; Inicio = null; TotalDeElementos = 0; }