Pilhas – Python
Pilha
Definição de Pilha: Estrutura para armazenar um conjunto de dados, que funciona da seguinte forma:
- Novos elementos sempre entram no “topo” da pilha;
- O único elemento que pode ser retirado da pilha é o elemento do topo.
Comandos call:
- Empilhar (push);
- Desempilhar (pop).
Exemplo: Implemente um programa que realize a conversão de um número decimal para binário usando pilha.
Primeiramente você deverá criar a classe Pilha:
class Pilha():# definir a função init para inicialização de uma lista
def __init__(self):
self.data = []
# definir a função push para adicionar elementos
def push(self, x):
self.data.append(x)
# definir a função pop para remover o último elemento da lista
def pop(self):
if len(self.data) > 0:
return self.data.pop(-1)
# consultar o elemento do topo da lista
def top(self):
if len(self.data) > 0:
return self.data[-1]
# verificar se a pilha está vazia
def empty(self):
return not len(self.data) > 0
Depois de criar a classe Pilha, então deverá criar um Objeto “p” e nele empilhar os restos da divisão sucessiva do número decimal (Exemplo 25) por 2.
p = Pilha() num = 25 # Número na base 10 que será convertido para binário # Efetuar divisões sucessivas por 2 e empilhar os restos while num > 0: resto = num % 2 num = num // 2 p.push(resto) # Enquanto a lista não for vázia mostar algarismos) while not p.empty(): print (p.pop())
O resultado esperado será o número binário 11001.
1 1 0 0 1
Download: http://valci.com.br/download/notebook/Pilha-Converter_numero_decimal_em_binario.ipynb