FIFO is best implemented as a Queue (and indirectly, a linked list). For the Least Recently Used, I think you might be able to implement that as a Priority Queue (through a heap), just keep track of...