Une double file est un conteneur qui peut servir à la fois de pile et de file. Une telle file admet des opérations pour ajouter et pour supprimer un élément au début et à la fin de la file avec une complexité de O(1). Ce conteneur est encore plus compliqué que la file simple. Il est donc toujours difficile de trouver une implémentation fonctionnelle efficace.