0001 template <typename T> //从起始于位置p的n个元素中选出最大者 0002 ListNodePosi<T> List<T>::selectMax( ListNodePosi<T> p, Rank n ) { 0003 ListNodePosi<T> max = p; //最大者暂定为首节点p 0004 for ( ListNodePosi<T> cur = p; 1 < n; n-- ) //从首节点p出发,将后续节点逐一与max比较 0005 if ( ! ( ( cur = cur->succ )->data < max->data ) ) //若当前元素不小于max,则 0006 max = cur; //更新最大元素位置记录 0007 return max; //返回最大节点位置 0008 }