0001 template <typename T> //在有序列表区间(h,t)内,找到不大于e的最靠后者:h < t 0002 LNP<T> List<T>::search(LNP<T> h, const T& e, LNP<T> t) const { //O(n) 0003 T bak = h->data; h->data = e; //预置哨兵 0004 while (e < (t = t->pred)->data); //自后向前,逐个比较 0005 h->data = bak; return t; //直至不大于e的最靠后者 0006 } //特别地,在所有节点都大于e时,返回h(等效于h->data == inf)