1 inline Rank Vector<T>::insert(Rank r, T const & e)
2 {
3 expand();
4 for (int i = _size; i != r; i--) {
5 _elem[i] = _elem[i - 1];
6 }
7 _elem[r] = e;
8 _size++;
9 return r;
10 }
2.1.这里的for语句,为什么i要递减?
我们元素实际往后移动的的时候,是最后一个元素先移动,那么最后一个元素应该是首先操作的元素,这样就避免了从目标秩开始操作导致元素覆盖的问题。
2.2.默认作为末元素插入的写法
1 Rank insert(T const& e) { return insert(_size, e); }