TA's solution

几个注意的地方。
1.  List.h add(T element) =>  add(const T& element). 
2.  Iterator.h  add virtual destructor. It's wrong without it.
3.  for (int i = index; i < cnt; ++i) => for (int i = index; i<cnt-1; ++i)
4.  add comment for `array[--cnt] = 0`
@jackyyf   想了一下，又觉得不用改了。大家知道有这么个问题自己改吧。 https://github.com/ds-sww/codebase/issues/67