Las colas son listas enlazadas con dos extremos, cabeza y cola. Los elementos se insertan siguiendo el método FIFO (primero en entrar, primero en salir). Las colas pueden representarse mediante arreglos o listas enlazadas, manteniendo punteros al primer y último elemento. Las colas estáticas usan arreglos de tamaño fijo mientras que las colas dinámicas usan memoria asignada en tiempo de ejecución cuyo tamaño puede variar.