0001 template <typename T> //复制列表中自位置p起的n项(assert: p为合法位置,且至少有n-1个后继节点) 0002 List<T>::List( ListNodePosi<T> p, Rank n ) { copyNodes( p, n ); } 0003 0004 template <typename T> //整体复制列表L 0005 List<T>::List( List<T> const& L ) { copyNodes( L.first(), L._size ); } 0006 0007 template <typename T> //复制L中自第r项起的n项(assert: r+n <= L._size) 0008 List<T>::List( List<T> const& L, Rank r, Rank n ) { 0009 ListNodePosi<T> p = L.first(); 0010 while ( 0 < r-- ) p = p->succ; 0011 copyNodes ( p, n ); 0012 }