São uma estrutura de dados em que os elementos são postos em sequência e o acesso á eles é restrito à um item em sua extremidade.
Isso torna a fila, uma estrutura de dados do tipo FIFO (First In – First Out)
Exemplo:

Exemplo de implementação:
using System; using System.Collections.Generic; class Fila<T> { private LinkedList<T> lista; public Fila() { lista = new LinkedList<T>(); } // Adiciona um item ao final da fila public void Enqueue(T item) { lista.AddLast(item); } // Remove o item na frente da fila e retorna public T Dequeue() { if (IsEmpty()) { throw new InvalidOperationException("A fila está vazia."); } T value = lista.First.Value; lista.RemoveFirst(); return value; } // Retorna o item na frente da fila sem removê-lo public T Peek() { if (IsEmpty()) { throw new InvalidOperationException("A fila está vazia."); } return lista.First.Value; } // Verifica se a fila está vazia public bool IsEmpty() { return lista.Count == 0; } // Retorna o número de elementos na fila public int Size() { return lista.Count; } } class Program { static void Main() { // Exemplo de uso da fila Fila<int> fila = new Fila<int>(); // Adicionando elementos na fila fila.Enqueue(10); fila.Enqueue(20); fila.Enqueue(30); Console.WriteLine("Primeiro item da fila: " + fila.Peek()); // Exibe 10 Console.WriteLine("Tamanho da fila: " + fila.Size()); // Exibe 3 // Removendo elementos da fila Console.WriteLine("Item removido: " + fila.Dequeue()); // Exibe 10 Console.WriteLine("Tamanho da fila após remoção: " + fila.Size()); // Exibe 2 Console.WriteLine("Item removido: " + fila.Dequeue()); // Exibe 20 Console.WriteLine("Item removido: " + fila.Dequeue()); // Exibe 30 Console.WriteLine("Fila está vazia? " + fila.IsEmpty()); // Exibe True } }
[]’s
Otávio
Item Anterior:
Próximo Item: