A equipe responsável pela elaboração de projetos de tecnologia da informação de determinada instituição recebeu a seguinte demanda do setor administrativo: “no setor de atendimento ao usuário, frequentemente, há atendimentos que, hoje, são gerenciados de forma manual, causando inúmeros transtornos pela falta de controle, bem como acúmulo de pessoas próximas à entrada do setor. Pensamos na criação de um sistema web em que o usuário acessa o portal e, para o dia corrente, faz uma requisição para solicitar atendimento. O fluxo de atendimento deverá ser diário, ou seja, todos os dias, de 7 às 8 horas, o sistema possibilitará tal solicitação de atendimento, por ordem de requisição, sem marcar horário. Deve-se levar em consideração que os atendimentos do dia ocorrem de 13 às 18 horas, com uma hora de duração; portanto, serão possíveis cinco atendimentos diários”. Considerando que o responsável pelo projeto definiu que a implementação utilizando a estrutura de dados fila irá atender a tais exigências, assinale a afirmativa correta.
- A)Suas duas operações básicas são empilhar (push) e desempilhar (pop).
Errada, porque push e pop são operações típicas de pilha, não de fila.
- B)Possui estrutura similar à de pilha por implementar o conceito de LIFO.
Errada, porque fila não segue LIFO; ela segue FIFO.
- C)A única forma possível de manipulá-la é inserindo um elemento no início e removendo outro no final.
Errada, porque isso não descreve a fila tradicional e também inverte a lógica básica de suas operações.
- D)A variação que proporciona inserção e remoção de elementos tanto no início quanto no final denomina-se deque.
Certa, porque deque é a estrutura que permite inserção e remoção tanto no início quanto no final.
- E)A variação que permite ao último elemento se conectar com o primeiro em formato contínuo denomina-se queue.
Errada, porque queue é fila e não a estrutura circular descrita; a ideia de conectar último ao primeiro não define esse nome.
Gabarito: D
Fila é a estrutura clássica do tipo FIFO, isto é, o primeiro que entra é o primeiro que sai. Pense numa fila de atendimento: ninguém gosta de furar a vez, e a lógica do sistema descrito é exatamente essa, com pedidos registrados por ordem de chegada e atendimento posterior respeitando essa ordem. Isso combina muito bem com a ideia de organizar solicitações sem marcar horário, porque você guarda as requisições e processa depois, na sequência em que foram feitas. Na programação, a fila tradicional trabalha com inserção em uma ponta e remoção na outra. Já quando você quer inserir e remover nas duas extremidades, você está falando de uma deque, abreviação de double-ended queue. É uma variação muito útil quando o sistema precisa de mais flexibilidade para incluir ou retirar elementos tanto no início quanto no fim. Por isso, a alternativa D está correta: ela define exatamente a deque. As demais misturam conceitos de pilha e fila ou trocam o nome da estrutura. Em concursos, esse tipo de questão costuma cobrar a diferença entre FIFO, LIFO e variações como deque, então vale guardar a tríade: fila, pilha e deque.