template<typenameT>// 在有序列表内节点 p 的 n 个 (真) 前驱中,找到不大于 e 的最后者Posi(T)List<T>::search(Tconst&e,intn,Posi(T)p)const{while(0<=n--)// 对于 p 的最近的 n 个前驱,从右向左if(((p=p->pred)->data)<=e)break;// 逐个比较returnp;// 直至命中、数值越界或范围越界后,返回查找终止的位置}// 最好 O(1),最坏 O(n);等概率时平均 O(n),正比于区间宽度