def inserirNaFrente(self, dado):
     novo = Elemento(dado)
     if self.lista_vazia():
         self.__inicio = novo
         self.__fim = novo
         self.__tamanho += 1
     else:
         anterior = novo.anterior(None)
         posterior = novo.posterior(self.__inicio)
         self.__inicio = novo
         self.__tamanho += 1
 def inserirNoFinal(self, novo_elemento):
     novo = Elemento(novo_elemento)
     if self.lista_vazia():
         self.__inicio = novo
         self.__fim = novo
         self.__tamanho += 1
     else:
         self.__fim.posterior = novo
         novo.anterior = self.__fim
         novo.posterior = None
         self.__fim = novo
         self.__tamanho += 1
 def inserirDepoisDoAtual(self, atual, novo_elemento):
     elemento_atual = self.buscar(atual)
     novo = Elemento(novo_elemento)
     novo.anterior = elemento_atual
     novo.posterior = elemento_atual.posterior
     elemento_atual.posterior = novo
 def inserirAntesDoAtual(self, atual, novo_elemento):
     elemento_atual = self.buscar(atual)
     novo = Elemento(novo_elemento)
     novo.anterior = elemento_atual.anterior
     novo.posterior = elemento_atual
     elemento_atual.anterior = novo