Exemple #1
0
 def addFirst(self, dado):
     novo_no = No()
     novo_no.set_Dado(dado)
     novo_no.set_Proximo(self.get_Inicio())
     self.set_Inicio(novo_no)
     if self.get_Ultimo() is None:
         self.set_Ultimo(novo_no)
     print('O novo elemento cujo dado é ({}), foi adicionado com sucesso!'.
           format(dado))
    def pushFront(self, dado):
        novo_no = No()
        novo_no.set_Dado(dado)
        novo_no.set_Proximo(self.get_Inicio())
        self.set_Inicio(novo_no)

        if self.get_Ultimo() is None:
            self.set_Ultimo(novo_no)
        print('O valor ({}), foi adicionado com sucesso!'.format(dado))
Exemple #3
0
 def append(self, dado):
     novo_no = No()
     novo_no.set_Dado(dado)
     novo_no.set_Proximo(None)
     if self.get_Ultimo() is not None:
         self.get_Ultimo().set_Proximo(novo_no)
     self.set_Ultimo(novo_no)
     if self.get_Inicio() is None:
         self.set_Inicio(novo_no)
     print('O elemento cujo dado é ({}) foi adicionado com sucesso!'.format(
         dado))
    def inserir(self, dado):
        inicio=self.get_Inicio()
        novo_no=No()

        if inicio is not None:
        #inserir o segundo
            if(self.get_Ultimo()==None):
                if(int(dado)>int(inicio.get_Dado())):
                    novo_no.set_Dado(dado)
                    novo_no.set_Anterior(inicio)
                    self.set_Ultimo(novo_no)
                    inicio.set_Proximo(novo_no)
                else:
                    novo_no.set_Dado(dado)
                    novo_no.set_Proximo(inicio)

                    inicio.set_Anterior(novo_no)
                    self.set_Ultimo(inicio)
                    self.set_Inicio(novo_no)
            else:
                #Inserir na Ordem crescente
                while inicio.get_Proximo() is not None:
                    if(int(dado)>int(inicio.get_Dado())):
                        inicio=inicio.get_Proximo()
                        if(inicio.get_Proximo()==None):
                            if(int(dado)>int(inicio.get_Dado())):
                                #inserir no ultimo
                                novo_no.set_Dado(dado)
                                novo_no.set_Anterior(inicio)
                                self.set_Ultimo(novo_no)
                                inicio.set_Proximo(novo_no)
                                break
                            else:
                                menor=inicio.get_Anterior()
                                novo_no.set_Dado(dado)
                                novo_no.set_Anterior(menor)
                                novo_no.set_Proximo(inicio)
                                menor.set_Proximo(novo_no)
                                inicio.set_Anterior(novo_no)
                                break
                    else:
                        #inserir no Inicio
                        if(inicio==self.get_Inicio()):
                            novo_no.set_Dado(dado)
                            novo_no.set_Proximo(inicio)

                            inicio.set_Anterior(novo_no)
                            self.set_Inicio(novo_no)
                            break
                        else:
                        #inserir no meio
                            menor=inicio.get_Anterior()
                            novo_no.set_Dado(dado)
                            novo_no.set_Anterior(menor)
                            novo_no.set_Proximo(inicio)
                            menor.set_Proximo(novo_no)
                            inicio.set_Anterior(novo_no)
                            break
        else:
        #Inserir o primeiro
            novo_no.set_Dado(dado)
            self.set_Inicio(novo_no)
        print('O novo elemento cujo dado é ({}), foi adicionado com sucesso!'.format(dado))
     list.listar()
 elif contro == '4':
     dado = input('Qual o valor ?')
     if (criaLista == False):
         list2.set_Inicio(None)
         list2.set_Ultimo(None)
         inicio = list.get_Inicio()
         num = 1
         while inicio.get_Proximo() is not None:
             if (num == 1):
                 ultimoListaEnca = inicio.get_Dado()
             inicio = inicio.get_Proximo()
             if (num == 4):
                 novo_no = No()
                 if (list2.get_Inicio() == None):
                     novo_no.set_Dado(inicio.get_Dado())
                     novo_no.set_Assinatura(inicio)
                     novo_no.set_UltimoListaEnca(ultimoListaEnca)
                     list2.set_Inicio(novo_no)
                     #print('ini ',inicio.get_Dado(),' novo ',novo_no)
                 elif (list2.get_Ultimo() == None):
                     novo_no.set_Dado(inicio.get_Dado())
                     novo_no.set_Assinatura(inicio)
                     novo_no.set_UltimoListaEnca(ultimoListaEnca)
                     novo_no.set_Anterior(list2.get_Inicio())
                     list2.get_Inicio().set_Proximo(novo_no)
                     list2.set_Ultimo(novo_no)
                     #print('seg ',inicio.get_Dado(),' novo ',novo_no)
                 else:
                     novo_no.set_Dado(inicio.get_Dado())
                     novo_no.set_Assinatura(inicio)