Array (DONE) {front, back} push_{front, back} pop_{front, back} operator[] insert replace find fill sort (TODO) size empty shrink Matrix (DONE) *see C version* Singly linked list (DONE) front push pop insert replace find sort (TODO) size empty Stack (DONE) push pop front size empty Queue (DONE) push pop front size empty Doubly linked list (DONE) {front, back} push_{front, back} pop_{front, back} insert replace find sort (TODO) size empty Deque (DONE) {front, back} push_{front, back} pop_{front, back} size empty Binary tree set get attach_left attach_right detach_left detach_right traverse{prefix, infix, postfix} Search tree insert remove find size empty Trie insert remove find size empty AVL tree *balance* insert remove find size empty 2-3 tree 2-3-4 tree Red-black tree