def caracteres(c): c_digitos = Cola() c_otros = Cola() c_aux = Cola() contador = 0 while not cola_vacia(c): aux = atencion(c) aux2 = ord(aux) if aux2 in range(48, 58): arribo(c_digitos, aux) else: arribo(c_otros, aux) while not cola_vacia(c_otros): aux = atencion(c_otros) aux2 = ord(aux) if aux2 in range(65, 91) or aux2 in range(97, 123): contador += 1 arribo(c_aux, aux) while not cola_vacia(c_aux): arribo(c_otros, atencion(c_aux)) print("Cola de digitos: ") barrido_cola(c_digitos) print("Cola de otros caracteres: ") barrido_cola(c_otros) print("Cantidad de letras en la cola de otros caracteres: ", contador)
def ordenado_automatico(): c = Cola() c_aux = Cola() aux = 0 elemento = int(input("Ingrese el elemento (-100 para no cargar mas): ")) while (elemento != -100): if cola_llena(c): print("No hay mas espacio") else: if cola_vacia(c): arribo(c, elemento) else: aux = atencion(c) if elemento <= aux: while not cola_vacia(c): arribo(c_aux, atencion(c)) arribo(c, elemento) arribo(c, aux) else: while elemento > aux and not cola_vacia(c): arribo(c_aux, aux) aux = atencion(c) if cola_vacia(c): arribo(c_aux, aux) arribo(c_aux, elemento) else: arribo(c_aux, elemento) arribo(c_aux, aux) while not cola_vacia(c): arribo(c_aux, atencion(c)) while not cola_vacia(c_aux): arribo(c, atencion(c_aux)) elemento = int( input("Ingrese el elemento (-100 para no cargar mas): ")) barrido_cola(c)
def eliminar_no_primos(c): c_aux = Cola() while not cola_vacia(c): valor = atencion(c) if identificar_primos(valor): print("Es primo") arribo(c_aux, valor) while not cola_vacia(c_aux): arribo(c, atencion(c_aux)) print("Barrido cola aux") barrido_cola(c)
def vocales(c): c_aux = Cola() while not cola_vacia(c): aux = atencion(c) aux.lower() if (aux == 'a') or (aux == 'e') or (aux == 'i') or (aux == 'o') or ( aux == 'u'): print('Se elimino una vocal') else: arribo(c_aux, aux) c = c_aux barrido_cola(c)
def invertir(c): pila_aux = Pila() print('Cola original') barrido_cola(c) while not cola_vacia(c): aux = atencion(c) apilar(pila_aux, aux) while not pila_vacia(pila_aux): aux = desapilar(pila_aux) arribo(c, aux) print('Cola invertida') barrido_cola(c)
def combinar_colas(c1, c2): c = Cola() aux1 = atencion(c1) aux2 = atencion(c2) while not cola_vacia(c1) and not cola_vacia(c2): if aux1 <= aux2: arribo(c, aux1) aux1 = atencion(c1) else: arribo(c, aux2) aux2 = atencion(c2) barrido_cola(c)
def eliminar_lugar(c, lugar): c_aux = Cola() if lugar <= c.tamanio: for i in range(2, lugar): arribo(c_aux, atencion(c)) aux = atencion(c) while not cola_vacia(c): arribo(c_aux, atencion(c)) print('') barrido_cola(c_aux) print('El elemento quiitado fue: ', aux) else: print('La posicion dada no se encuentra en la cola...')
def fibonacci(n): c = Cola() c_aux = Cola() arribo(c, 1) arribo(c, 0) for i in range(1, n): aux1 = atencion(c) aux2 = atencion(c) sum = aux1 + aux2 while not cola_vacia(c): arribo(c_aux, atencion(c)) arribo(c, sum) arribo(c, aux1) arribo(c, aux2) while not cola_vacia(c_aux): arribo(c, atencion(c_aux)) barrido_cola(c)
def turnos(): c_turnos = Cola() cola_1 = Cola() cola_2 = Cola() c_aux = Cola() cA, cC, cF, cB, cD, cE = 0, 0, 0, 0, 0, 0 # carga de turnos for i in range(0, 1000): lista = ['A', 'B', 'C', 'D', 'E', 'F'] cadena = random.choice(lista) cadena = cadena + random.choice(string.digits) cadena = cadena + random.choice(string.digits) cadena = cadena + random.choice(string.digits) arribo(c_turnos, cadena) while not cola_vacia(c_turnos): turno = atencion(c_turnos) if turno[0] == 'A' or turno[0] == 'C' or turno[0] == 'F': arribo(cola_1, turno) else: arribo(cola_2, turno) tc1 = tamanio(cola_1) tc2 = tamanio(cola_2) print("Cola con turnos 'A'; 'C'; 'F'") barrido_cola(cola_1) print("Cola con turnos 'B'; 'D'; 'E'") barrido_cola(cola_2) if tc1 > tc2: print("La cola con turnos 'A'; 'C'; 'F'; tiene mas elementos") while not cola_vacia(cola_1): aux = atencion(cola_1) if aux[0] == 'A': cA += 1 elif aux[0] == 'C': cC += 1 else: cF += 1 arribo(c_aux, aux) while not cola_vacia(c_aux): arribo(cola_1, atencion(c_aux)) if cA > cC and cA > cF: print("Hay mas turnos 'A'") elif cC > cA and cC > cF: print("Hay mas turnos 'C'") else: print("Hay mas turnos 'F'") else: print("La cola con turnos 'B'; 'D'; 'E'; tiene mas elementos") while not cola_vacia(cola_2): aux = atencion(cola_2) if aux[0] == 'B': cB += 1 elif aux[0] == 'D': cD += 1 else: cE += 1 arribo(c_aux, aux) while not cola_vacia(c_aux): arribo(cola_1, atencion(c_aux)) if cB > cD and cB > cE: print("Hay mas turnos 'B'") elif cD > cB and cD > cE: print("Hay mas turnos 'D'") else: print("Hay mas turnos 'E'")