Untitled
unknown
plain_text
2 years ago
1.4 kB
8
Indexable
class Node:
def __init__(self,info):
self.__info = info
self.__prox = None
def __str__(self):
return str(self.__info)
def setProx(self,prox):
self.__prox = prox
def getProx(self):
return self.__prox
from Node import Node
class Pilha:
def __init__(self):
self.__topo = None
self.__tamanho = 0
def estaVazia(self):
return self.__tamanho == 0
def empilha(self, info):
novoNodo = Node(info)
if not self.estaVazia():
novoNodo.setProx(self.__topo)
self.__topo =novoNodo
self.__tamanho = self.__tamanho + 1
def desempilha(self):
if self.estaVazia():
return None
nodo = self.__topo
self.__topo = nodo.getProx()
self.__tamanho = self.__tamanho-1
return nodo
def topo(self):
return self.__topo
def tamanho(self):
return self.__tamanho
def __str__(self):
if self.estaVazia():
infos = "Pilha Vazia"
else:
infos = "TOPO->"
nodo = self.__topo
while nodo is not None:
infos += str(nodo)
nodo = nodo.getProx()
if nodo is not None:
infos +="->"
return infos
Editor is loading...