Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class No():
- def __init__(self, dado):
- self._dado = dado
- self._proximo = None
- self._anterior = None
- def getDado(self):
- return self._dado
- def setDado(self, dado):
- self._dado = dado
- def getAnterior(self):
- return self._anterior
- def setAnterior(self, anterior):
- self._anterior = anterior
- def getProximo(self):
- return self._proximo
- def setProximo(self, proximo):
- self._proximo = proximo
- class ListaEncadeada():
- def __init__(self):
- self._comeco = None
- self._fim = None
- def isVazia(self):
- return (self._comeco and self._fim) == None
- def __str__(self):
- atual = self._comeco
- saida = ''
- while atual is not None:
- if saida == '':
- saida = str(atual.getDado())
- else:
- saida += ' ' + str(atual.getDado())
- atual = atual.getProximo()
- return saida
- def adicionar(self, dado):
- novoNo = No(dado)
- if self.isVazia():
- self._comeco = self._fim = novoNo
- else:
- novoNo.setAnterior(self._fim)
- novoNo.setProximo(None)
- self._fim.setProximo(novoNo)
- self._fim = novoNo
- def buscar(self, dado):
- no = self._comeco
- anterior = no.getAnterior()
- while no is not None:
- if no.getDado() == dado:
- return (no, anterior)
- no = no.getProximo()
- return (no, anterior)
- def remover(self, dado):
- no, anterior = self.buscar(dado)
- if no is not None:
- if anterior is not None:
- anterior.setProximo(no.getProximo())
- else:
- self._comeco = no.getProximo()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement