示例#1
0
 def insertarCabeceraLetras(self, letra):
     if self.primerNodo.nodoInferior == None:
         self.primerNodo.nodoInferior = Clasetres(letra, None, None,
                                                  self.primerNodo, None)
         return "Primer nodo creado con " + letra
     if not self.elementExistInCabeceraLetras(letra):
         actual = self.primerNodo.nodoInferior
         temp = self.primerNodo.nodoInferior
         val = ord(letra)
         if val < ord(actual.datos):
             nuevo = Clasetres(letra, None, None, self.primerNodo, actual)
             self.primerNodo.nodoInferior = nuevo
             actual.nodoSuperior = nuevo
             return "Nodo Creado " + letra
         else:
             while (actual != None):
                 if val < ord(actual.datos):
                     nuevo = Clasetres(letra, None, None,
                                       actual.nodoSuperior, actual)
                     actual.nodoSuperior.nodoInferior = nuevo
                     actual.nodoSuperior = nuevo
                     return "Nodo Creado " + letra
                 if not actual.nodoInferior == None:
                     temp = actual.nodoInferior
                 actual = actual.nodoInferior
             nuevo = Clasetres(letra, None, None, temp, None)
             temp.nodoInferior = nuevo
             return "Nodo Creado " + letra
示例#2
0
 def insertarCabeceraDominios(self,dominio):
      if self.primerNodo.nodoSiguiente == None:
          self.primerNodo.nodoSiguiente = Clasetres(dominio,None,self.primerNodo,None,None)
          return "Primer dominio creado " + dominio
      if not self.elementExistInCabeceraDominios(dominio):
          actual = self.primerNodo.nodoSiguiente
          temp = self.primerNodo.nodoSiguiente
          val = ord(dominio[0])
          if val < ord(actual.datos[0]):
              nuevo = Clasetres(dominio,actual,self.primerNodo,None,None)
              self.primerNodo.nodoSiguiente = nuevo
              actual.nodoAnterior = nuevo
              return "Nodo Creado " + dominio
          else:
               while (actual != None):
                   if val < ord(actual.datos[0]):
                       nuevo = Clasetres(dominio,actual,actual.nodoAnterior,None,None)
                       actual.nodoAnterior.nodoSiguiente = nuevo
                       actual.nodoAnterior = nuevo
                       return "Nodo Creado ant " + dominio
                   if val == ord(actual.datos[0]):
                       print "Nodo igual " + dominio
                       tam = 0
                       if len(dominio) > len(actual.datos):
                           tam = len(actual.datos) - 1
                       else: 
                           tam = len(dominio) - 1 
                       nuevo = None
                       for x in xrange(0,tam):
                         if dominio[x] > actual.datos[x]:
                             print dominio[x] + ">" + actual.datos[x]
                             nuevo = Clasetres(dominio,actual.nodoSiguiente,actual,None,None)
                             actual.nodoSiguiente.nodoAnterior = nuevo
                             actual.nodoSiguiente = nuevo
                             return "Nodo Creado 6" + dominio
                         if dominio[x] < actual.datos[x]:
                             print dominio[x] + "<" + actual.datos[x]
                             nuevo = Clasetres(dominio,actual,actual.nodoAnterior,None,None)
                             actual.nodoAnterior.nodoSiguiente = nuevo
                             actual.nodoAnterior = nuevo
                             return "Nodo Creado 7" + dominio
                       if nuevo==None:
                           if tam==len(actual.datos):
                             nuevo = Clasetres(dominio,actual.nodoSiguiente,actual,None,None)
                             actual.nodoSiguiente.nodoAnterior = nuevo
                             actual.nodoSiguiente = nuevo
                             return "Nodo Creado 8" + dominio
                           else:
                             nuevo = Clasetres(dominio,actual,actual.nodoAnterior,None,None)
                             actual.nodoAnterior.nodoSiguiente = nuevo
                             actual.nodoAnterior = nuevo
                             return "Nodo Creado 9" + dominio  
                   if not actual.nodoSiguiente == None:
                         temp = actual.nodoSiguiente
                   actual = actual.nodoSiguiente
               nuevo = Clasetres(dominio,None,temp,None,None)
               temp.nodoSiguiente = nuevo 
               return "Nodo Creado post" + dominio
示例#3
0
 def insertarDatos(self, name, dominio):
     NodoLetra = self.nodoL(name[0])
     if NodoLetra.nodoSiguiente == None:
         return "no hay siguiente"
     NodoDominio = self.nodoD(dominio)
     nodoMagico = self.nodoM(NodoLetra, dominio)
     if NodoDominio == None:
         return "null dominio"
     if nodoMagico == None:
         return "null magico"
     nodoMagico.lista.insertarAlFinal(name + "@" + dominio)
     if NodoDominio.nodoInferior == None:
         NodoDominio.nodoInferior = Clasetres(nodoMagico, None, None,
                                              NodoDominio, None)
         return "Primer nodo creado con " + nodoMagico.letra
     if not self.elementExistInCabeceraLetrasM(nodoMagico.letra,
                                               NodoDominio):
         actual = NodoDominio.nodoInferior
         temp = NodoDominio.nodoInferior
         val = ord(nodoMagico.letra)
         if val < ord(actual.datos.letra):
             nuevo = Clasetres(nodoMagico, None, None, self.primerNodo,
                               actual)
             NodoDominio.nodoInferior = nuevo
             actual.nodoSuperior = nuevo
             return "Nodo Creado " + nodoMagico.letra
         else:
             while (actual != None):
                 if val < ord(actual.datos.letra):
                     nuevo = Clasetres(nodoMagico, None, None,
                                       actual.nodoSuperior, actual)
                     actual.nodoSuperior.nodoInferior = nuevo
                     actual.nodoSuperior = nuevo
                     return "Nodo Creado " + nodoMagico.letra
                 if not actual.nodoInferior == None:
                     temp = actual.nodoInferior
                 actual = actual.nodoInferior
             nuevo = Clasetres(nodoMagico, None, None, temp, None)
             temp.nodoInferior = nuevo
             return "Nodo Creado " + nodoMagico.letra
示例#4
0
 def insertarCorreo(self, name, dominio):
     self.insertarCabeceraLetras(name[0])
     self.insertarCabeceraDominios(dominio)
     listaData = ClaseListaDoble()
     NodoLetra = self.nodoL(name[0])
     nodoData = Clasecuatro(name[0], dominio, listaData)
     if NodoLetra == None:
         return "null"
     if NodoLetra.nodoSiguiente == None:
         nuevo = Clasetres(nodoData, None, NodoLetra, None, None)
         NodoLetra.nodoSiguiente = nuevo
         return "Nodo Creado " + name[0] + "-" + dominio
     if not self.elementExistInMatriz(NodoLetra, dominio):
         actual = NodoLetra.nodoSiguiente
         temp = NodoLetra.nodoSiguiente
         val = ord(dominio[0])
         if val < ord(actual.datos.correo[0]):
             nuevo = Clasetres(nodoData, actual, NodoLetra, None, None)
             NodoLetra.nodoSiguiente = nuevo
             actual.nodoAnterior = nuevo
             return "Nodo Creado " + name[0] + "-" + dominio
         else:
             while (actual != None):
                 if val < ord(actual.datos.correo[0]):
                     nuevo = Clasetres(nodoData, actual,
                                       actual.nodoAnterior, None, None)
                     actual.nodoAnterior.nodoSiguiente = nuevo
                     actual.nodoAnterior = nuevo
                     return "Nodo Creado " + name[0] + "-" + dominio
                 if val == ord(actual.datos.correo[0]):
                     print "Nodo igual " + dominio
                     tam = 0
                     if len(dominio) > len(actual.datos.correo):
                         tam = len(actual.datos.correo) - 1
                     else:
                         tam = len(dominio) - 1
                     nuevo = None
                     for x in xrange(0, tam):
                         if dominio[x] > actual.datos.correo[x]:
                             print dominio[x] + ">" + actual.datos.correo[x]
                             nuevo = Clasetres(nodoData,
                                               actual.nodoSiguiente, actual,
                                               None, None)
                             actual.nodoSiguiente.nodoAnterior = nuevo
                             actual.nodoSiguiente = nuevo
                             return "Nodo Creado " + name[0] + "-" + dominio
                         if dominio[x] < actual.datos.correo[x]:
                             print dominio[x] + "<" + actual.datos.correo[x]
                             nuevo = Clasetres(nodoData, actual,
                                               actual.nodoAnterior, None,
                                               None)
                             actual.nodoAnterior.nodoSiguiente = nuevo
                             actual.nodoAnterior = nuevo
                             return "Nodo Creado " + name[0] + "-" + dominio
                     if nuevo == None:
                         if tam == len(actual.datos.correo):
                             nuevo = Clasetres(nodoData,
                                               actual.nodoSiguiente, actual,
                                               None, None)
                             actual.nodoSiguiente.nodoAnterior = nuevo
                             actual.nodoSiguiente = nuevo
                             return "Nodo Creado " + name[0] + "-" + dominio
                         else:
                             nuevo = Clasetres(nodoData, actual,
                                               actual.nodoAnterior, None,
                                               None)
                             actual.nodoAnterior.nodoSiguiente = nuevo
                             actual.nodoAnterior = nuevo
                             return "Nodo Creado " + name[0] + "-" + dominio
                 if not actual.nodoSiguiente == None:
                     temp = actual.nodoSiguiente
                 actual = actual.nodoSiguiente
             nuevo = Clasetres(nodoData, None, temp, None, None)
             temp.nodoSiguiente = nuevo
             return "Nodo Creado " + name[0] + "-" + dominio
示例#5
0
 def __init__(self):
     #super(ClassName, self).__init__()
     #self.arg = arg
     self.primerNodo = Clasetres("Nodo Inicial", None, None, None, None)