public void InserirNoInicio(T elemento) { Celula<T> nova = new Celula<T>(elemento); if (EstaVazia()) { nova.Proxima = nova; nova.Anterior = nova; Primeira = nova; Ultima = nova; } else { nova.Anterior = Ultima; nova.Proxima = Primeira; Primeira = nova; Ultima.Proxima = nova; } TotalDeElementos++; }
public void RemoverDoFinal() { if(EstaVazia()) { throw new Exception("Lista vazia. Impossivel remover!"); } //verifica se a lista VAI FICAR vazia if (Primeira.Proxima == Primeira) { Primeira = null; Ultima = null; } else { Celula<T> penultima = PegarCelula(TotalDeElementos - 2); penultima.Proxima = Primeira; Primeira.Anterior = penultima; Ultima = penultima; } TotalDeElementos--; }