As filas geralmente são frustrantes na vida real, mas em um programa de computador elas podem resolver muitos problemas. Descubra o que você pode fazer com uma fila e como.

A fila é uma estrutura de dados versátil que pode ser usada em várias configurações. De algoritmos de agendamento de CPU a aplicativos da web, ele é encontrado em todos os lugares.

Se você está se esforçando para ser um desenvolvedor Python, é vital que você se familiarize com essa estrutura de dados simples, mas onipresente. Vamos aprender o que é a estrutura de dados da fila e como implementá-la em Python.

O que é a estrutura de dados da fila?

Crédito da imagem: Wikipédia

Uma fila é uma estrutura de dados linear, que segue o princípio First-In-First-Out (FIFO). Isso significa que, ao buscar um elemento de uma fila, você obterá aquele que adicionou antes dos outros.

Aqui estão as operações básicas que você pode executar em uma fila:

  • Enqueue: Adicione elementos à fila.
  • Dequeue: Remove elementos da fila.
  • Imprimir: Imprime os elementos na fila.
  • instagram viewer
  • Front: Obtém o elemento na frente da fila.
  • Rear: Obtém o elemento no final da fila.

Você pode implementar a estrutura de dados da fila em Python de duas maneiras: usando um contêiner de lista ou uma fila dupla do módulo de coleções. Para este programa, você usará uma lista.

Como implementar a estrutura de dados da fila em Python

Você estará implementando uma fila usando o contêiner de lista em Python. Comece declarando uma lista vazia com o nome fila.

fila = []

Agora você precisa aceitar a entrada do usuário e executar a operação inserida pelo usuário. Primeiro, imprima uma linha solicitando que o usuário insira um comando. Em seguida, aguarde a entrada do usuário e armazene-a no comando variável.

Usando Comandos if do Python, execute a operação correspondente ao comando inserido pelo usuário. Se eles inserirem um comando não reconhecido, saia do programa. Coloque essas operações dentro de um infinito loop while para garantir que o programa continue em execução, a menos que seja encerrado.

enquantoVerdadeiro:
comando = entrada("O que você quer fazer? ")

se comando == "enfileirar":
# código
elif comando == "desenfileirar":
# código
outro:
quebrar

imprimir (fila)

Enfileirar

Agora que você tratou do fluxo de controle principal do programa, pode definir o bloco de código para cada operação. Primeiro, escreva o código para enqueue. Enqueue significa inserir um elemento no final da fila. Você pode fazer isso usando o acrescentar() método:

secomando == "enfileirar":
enfileirar = int(entrada("Digite o elemento para Enfileirar: "))

Defilar

Agora, escreva o código para desenfileirar um elemento da fila. Você pode fazer isso usando o método pop com 0 como índice. Por que? Como você aprendeu anteriormente, uma fila segue a ordem FIFO, então o primeiro elemento que você enfileira deve ser o primeiro elemento que você desenfileira.

se comando == "desenfileirar":
fila.pop(0)

Frente

Seguindo em frente, escreva o código para imprimir o elemento na frente da fila. Simplesmente imprima o 0º índice da fila.

se comando == "frente":
imprimir (fila[0])

Traseira

Muito parecido com o código para a operação frontal, para executar a operação traseira, imprima o elemento no último índice. Para fazer isso, primeiro use a função len() na fila e depois subtraia 1 dela para encontrar o último índice.

se comando == "traseira":
imprimir (fila[len (fila) - 1])

Imprimir

Finalmente, escreva o código para o comando de impressão. Simplesmente imprima a lista usando o padrão do Python imprimir() função.

se comando == "imprimir":
imprimir (fila)

Se o texto digitado pelo usuário não corresponder a um comando compatível, saia do loop while usando uma instrução break. O código final deve ficar assim:

fila = []

enquantoVerdadeiro:
comando = entrada("O que você quer fazer?\n")

se comando == "enfileirar":
enfileirar = int (entrada("Digite o elemento para Enfileirar: "))
queue.append (enfileirar)
elif comando == "desenfileirar":
fila.pop(0)
elif comando == "imprimir":
imprimir (fila)
elif comando == "frente":
imprimir (fila[0])
elif comando == "traseira":
imprimir (fila[len (fila)-1])
outro:
quebrar

imprimir (fila)

Execute o programa para experimentar as várias operações de fila. Use o comando de impressão para ver como eles afetam sua fila. Agora você criou sua própria implementação de fila simples em Python.

A fila é apenas uma das muitas estruturas de dados úteis

O conceito de estrutura de dados é vital e todo estudante de ciência da computação deve dominar. É provável que você já tenha aprendido ou trabalhado com algumas estruturas básicas de dados, como arrays ou listas.

Os entrevistadores também tendem a fazer perguntas relacionadas a estruturas de dados; portanto, se você deseja um trabalho de programação bem remunerado, precisará aprimorar seu conhecimento de estruturas de dados.