Singly and doubly linked list, doubly has push / pop and shift / unshift