Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Thiago Avelino
Tela cheia

TDA Fila com Python

23 de Julho de 2010, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 132 vezes
O foco este post é levar você aprender computação com Python.
O TDA Fila é definido pelas seguintes operações:
__init__
Inicializar uma nova fila vazia.
insert
Adicionar um novo item à fila.
remove
Remover e retornar um item da fila. O item retornado é o que foi

System Message: WARNING/2 (/Users/avelino/workspace/avelino.github.io/content/old/tda-fila-com-python.rst, line 12)

Line block ends without a blank line.

adicionado primeiro. | isEmpty | Checar se a fila está vazia.

Segue abaixo um source para explica melhor a implementação "TAD Fila".

System Message: WARNING/2 (/Users/avelino/workspace/avelino.github.io/content/old/tda-fila-com-python.rst, line 23)

Cannot analyze code. No Pygments lexer found for "brush:python".

.. code:: brush:python

    class Queue:
     def __init__(self):
      self.length = 0
      self.head = None

     def isEmpty(self):
      return (self.length == 0)

     def insert(self, cargo):
      node = Node(cargo)
      node.next = None
      if self.head == None:
       # if list is empty the new node goes first
       self.head = node
      else:
       # find the last node in the list
       last = self.head
       while last.next: last = last.next
       # append the new node
       last.next = node
         self.length = self.length + 1

     def remove(self):
      cargo = self.head.cargo
      self.head = self.head.next
      self.length = self.length - 1
      return cargo


Existem duas invariantes para um objeto Fila bem formado: o atributo length deve ser o número de nós na fila.

System Message: WARNING/2 (/Users/avelino/workspace/avelino.github.io/content/old/tda-fila-com-python.rst, line 57)

Cannot analyze code. No Pygments lexer found for "brush:python".

.. code:: brush:python

    >>> from Queue import *
    >>> start = new Queue()
    >>> start.insert(50)
    >>> start.insert(99)
    >>> start.insert(10)
    >>> while not start.isEmpty(): print start.remove()
    50
    99
    10


Fonte: http://feedproxy.google.com/~r/pyAvelino/~3/s13fW_ftX10/tda-fila-com-python

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.