A stack, a fixed-size queue and a linked list, each built from scratch so you know what the array is doing for you.