Estrutura de Dados
  • Programação e Estrutura de Dados
  • Estrutura de Dados
    • 1. Vetores e Matrizes
      • Vetores
      • Matrizes
      • Listas de Exercícios
    • 2. Listas Lineares
      • Lista Encadeada Simples
      • Lista Duplamente Encadeada
    • 3. Pilhas
      • Visão Geral
      • Operações
        • Criação de Pilhas
        • Inserção de elementos
        • Remoção de elementos
        • Impressão, topo e tamanho da pilha
      • Exemplo
    • 4. Filas
      • Visão Geral
      • Operações
        • Criação das Filas
        • Inserção de Elementos
        • Remoção de Elementos
        • Impressão, inicio e final da fila
      • Exemplo
    • 5. Recursividade
      • Visão geral
      • Exemplos
        • Execução do Algoritmo de Fibonacci Recursivo
    • 6. Algoritmos de Busca
      • Busca Sequencial
      • Busca Binária
      • Exemplos
    • 7. Algoritmos de Ordenação
      • Ordenação
      • Bubble Sort
      • Selection Sort
      • Insertion Sort
      • Merge Sort
      • Quicksort
    • 8. Árvores
      • Introdução
      • Árvores Binárias
      • Árvores Binárias de Busca
      • Árvores AVL
    • 9. Indexação e Hashing
    • 10. Grafos
  • Programação Orientada a Objetos
    • 1. Introdução a Orientação a Objetos
Powered by GitBook
On this page

Was this helpful?

  1. Estrutura de Dados
  2. 4. Filas
  3. Operações

Inserção de Elementos

Estrutura de Dados: Fila

PreviousCriação das FilasNextRemoção de Elementos

Last updated 4 years ago

Was this helpful?

As diferenças entre as filas e pilhas ocorrem na forma como se comportam. As filas de comportam como a Figura a seguir ilustra em relação às suas inserções e remoções

Inserção de Elementos

Em código, para adicionarmos um novo elemento devemos adicionar elementos na lista que foi iniciada na fila. Para isto, criaremos uma função denominada inserir que recebe como parâmetro o elemento que precisa ser adicionado à fila. Diferentemente da pilha as filas não tem nomenclaturas padrões para esse métodos.

class Fila:
  def __init__(self, cabeca=None, cauda=None):
    self.cabeca = cabeca
    self.cauda = cauda

  def is_empty(self):
    return self.cabeca is None

  def inserir(self, elemento):
    novo_no = No(elemento)

    if self.cabeca == None:
      self.cabeca = self.cauda = novo_no
    else:
      self.cauda.proximo = novo_no
      self.cauda = novo_no

Note que a lógica utilizada é a mesma para inserir no final que foi implementada nas listas encadeadas.

Como faço para testar?

#arquivo fila.py
from fila import Fila

fila_teste = Fila()
fila_teste.inserir("elemento 1")
Inserções e Remoções Fila