def setDatosZ(self, datoZ, datoX): #nv = nodoVacio.Nodo("") insercion = True nodoDisperso = Nodo(datoZ)# nodo disperso que se hizo para guardar el nodo que ha de apuntar hacia arriba , abajo, siguiente y anterior #nodoDisperso.pSig = nodoVacio.Nodo("") #nodoDisperso.pAnt = nodoVacio.Nodo("") if self.__Y.busquedaPorDato(datoZ[0]) == False : self.__Y.setOrdenado(datoZ[0]) if self.__X.busquedaPorDato(datoX) == False : self.__X.setOrdenado(datoX)# sino se encuentra en nuestra lista lo insgresamos # buscamos el nodo qeu contiene nuestro nuevo dato ingresado nodoCX = self.__X.busquedadeNodo(datoX) #self.__X.getLista() #if self.__Y.busquedaPorDato(datoZ[0]) == True : # busqueda de la primer letra del nombre del correo #print "Encontrado ni me preguntes we que dato es :v alv prro" nodoCY = self.__Y.busquedadeNodo(datoZ[0]) #print "awebo prro es un error arreglado prro", nodoCY.getElemento() if nodoCX.pAb.getElemento() == "" :#concatena primeros datos con columna nodoCX.pAb = None nodoCX.pAb = nodoDisperso nodoDisperso.pAnt = None nodoDisperso.pAnt = nodoCX nodoCX.setTamanioFila(2) #print "primer Dato de columna hacia abajo" , nodoCX.pAb.getElemento() else : if self.encontrarenColumna(nodoCX, datoZ) == True : nodoProfundidad = self.buscarenColumna(nodoCX, datoZ) if nodoProfundidad.getTamanioFila() == 0 : print "por fin encontrado", datoZ insercion = False print "por fin esta es la cabeza: " , nodoProfundidad.getElemento() nodoProfundidad.pAtr = nodoDisperso nodoDisperso.pAde = nodoProfundidad nodoProfundidad.setTamanioFila(2) print "aniadido atras", nodoProfundidad.pAtr.getElemento() self.imprimirProfundidad(nodoProfundidad) print "tamanio profundiad", nodoProfundidad.getTamanioFila() else : print "por fin esta es la cabeza: " , nodoProfundidad.getElemento() temp = nodoProfundidad contador = 0 vale = True while vale : if contador == (nodoProfundidad.getTamanioFila()-1): vale = False else: contador += 1 temp = temp.pAtr # print "Entrada: " , datoZ # print "Cola final fila: ", temp.getElemento() temp.pAtr = nodoDisperso nodoDisperso.pAde = temp nodoProfundidad.setTamanioFila(nodoProfundidad.getTamanioFila() + 1) self.imprimirProfundidad(nodoProfundidad) print "tamanio profundiad", nodoProfundidad.getTamanioFila() insercion = False else: #if insercion == True : # print "este era el error" temp = nodoCX.pAb c = ord(datoZ[0]) contador = 1 while contador != (nodoCX.getTamanioFila()-1) and ord(temp.getElemento()[0]) < c: temp = temp.pSig contador += 1 if contador == (nodoCX.getTamanioFila()-1) and ord(temp.getElemento()[0]) < c: temp.pSig = nodoDisperso nodoDisperso.pAnt = temp else: if temp == nodoCX.pAb : nodoDisperso.pSig = temp temp.pAnt = nodoDisperso nodoDisperso.pAnt = nodoCX nodoCX.pAb = nodoDisperso else : nodoanterior = temp.pAnt nodoanterior.pSig = nodoDisperso nodoDisperso.pAnt = nodoanterior nodoDisperso.pSig = temp temp.pAnt = nodoDisperso # print "Entrada: " , datoZ nodoCX.setTamanioFila(nodoCX.getTamanioFila() + 1) #print "Tamanio de la columna: ", str(nodoCX.getTamanioFila()) if nodoCY.pAb.getElemento() == "" :# concatena primeros datos con fila # print "por fin prro resolviste el problema de asignacion de memoria" nodoCY.pAb = None nodoCY.pAb = nodoDisperso nodoDisperso.pArr = None nodoDisperso.pArr = nodoCY nodoCY.setTamanioFila(2) #print "Primer Dato Fila hacia abajo" , nodoCY.pAb.getElemento() else : if insercion == True: temp2 = nodoCY.pAb temp = self.__X.getCabeza() c = ord(datoX[0]) contador = 1 while contador != (nodoCY.getTamanioFila() - 1) and ord(temp.getElemento()[0]) < c: temp = temp.pSig temp2 = temp2.pAb contador += 1 if contador == (nodoCY.getTamanioFila() - 1) and ord(temp.getElemento()[0]) < c: temp2.pAb = nodoDisperso nodoDisperso.pArr = temp2 else: if temp2 == nodoCY.pAb : nodoDisperso.pAb = temp2 temp2.pArr = nodoDisperso nodoDisperso.pArr = nodoCY nodoCY.pAb = nodoDisperso else : nodoanterior = temp2.pArr nodoanterior.pAb = nodoDisperso nodoDisperso.pArr = nodoanterior nodoDisperso.pAb = temp2 temp2.pArr = nodoDisperso # print "Entrada: " , datoZ nodoCY.setTamanioFila(nodoCY.getTamanioFila() + 1)