def palindromoPilha(array):
    auxA = []
    auxB = []

    if pilha.isEmpty(array):
        print("String vazia")

    else:
        print("\n*************** teste de palíndromo ***************")
        print('Verificar: ' + array)

        # Remover acentos
        array = unidecode(array)

        # Deixar letras minúsculas, pois evita erro de comparação
        array = array.lower()

        # Verificar se contém espaço e remover
        if " " in array:
            array = array.replace(" ", "")

        loop = ((pilha.size(array)) - 1)
        for i in range(loop, -1, -1):
            auxA = pilha.push(array[i], auxA)
            auxB = pilha.push(array[loop - i], auxB)

        if auxA == auxB:
            print("Teste Verdadeiro")
            return True

        else:
            print("Teste Falso")
            return False
def fpDequeue(array):
    arrayAux = []
    for i in range(1, len(array)):
        pilha.push(array[i], arrayAux)

    return arrayAux
def fpQueue(value, array):
    array = pilha.push(value, array)
    return array
Beispiel #4
0
import pilha as pilha
import fila as fila
import deque as deque
import fila_pilha as filapilha
from palindromo_pilha import palindromoPilha
from palindromo_deque import palindromoDeque

# Funções Pilha
print("********** Funções de Pilha **********")

# Push – insere um elemento na pilha
a = []
a = pilha.push('a', a)
print("Pilha push: {}".format(a))
a = pilha.push('b', a)
print("Pilha push: {}".format(a))
a = pilha.push('c', a)
print("Pilha push: {}".format(a))

# Pop – remove um elemento da pilha
a = pilha.pop(a)
print("Pilha pop: {}".format(a))

# Top – retorna o elemento no topo da pilha, sem removê-lo
print("Pilha top: {}".format(pilha.top(a)))

# isEmpty – verifica se a pilha está vazia ou não
print("Pilha isEmpty: {}".format(pilha.isEmpty(a)))

# size – retorna o número de elementos na pilha
print("Pilha size: {}".format(pilha.size(a)))
Beispiel #5
0
    tabelaGeral = file.readlines()

del fila[0]
fila.append("$")

pilha = pilha.Stack("<INICIO_FIM>")

cont = 0
print("INICIO\n\n")

while fila:
    top = pilha.pop()
    if top.isupper() == True:
        processo = transicao(top, fila[0])
        if processo == "error":
            print("ERRO")
            print(f"linha:{tabelaGeral[cont].split('|')[2]} coluna:{tabelaGeral[cont].split('|')[3]}")
            break

        i = len(step(processo).split("|")) - 1
        while i >= 1:
            if step(processo).split("|")[i] != "î":
                pilha.push(step(processo).split("|")[i])
            i -= 1
    elif top == fila[0]:
        print(f"#{top} = {fila[0]}#")
        del fila[0]
        cont += 1

print("Sem erros Sintaticos") if not fila and pilha.isEmpty() else print("Erro pilha ou fila nao estao vazias")