This doubly-linked list was implemented in C++ but inspired by Java's LinkedList<T>