public void Adiciona(int posicao, T elemento) { if (posicao < 0 || posicao >= Tamanho()) { throw new Exception("A Posição " + posicao + " é Inválida!"); } else { Celula nova = new Celula(elemento); Iterador <T> it = new Iterador <T>(Inicio); int i = 0; while (it.HasNext()) { if (i != posicao - 1) { it.Next(); i++; } else { nova.SetProximo(it.GetAtual().GetProximo()); it.GetAtual().SetProximo(nova); i++; } } TamanhoLista++; } }
//Método que adiciona no inicio da lista public void AdicionaInicio(T elemento) { Celula nova = new Celula(elemento); if (TamanhoLista == 0) { Inicio = Fim = nova; TamanhoLista++; } else { nova.SetProximo(Inicio); Inicio = nova; TamanhoLista++; } }