0001 template <typename T> void List<T>::merge(LNP<T> h, LNP<T> y, LNP<T> t) { //(h,y) + [y,t) 0002 for (LNP<T> x = h->succ; (x != y) && (y != t); ) 0003 if (x->data > y->data) //小者优先;相等时x优先,以保证稳定性 0004 (y = y->succ)->pred->movePred(x); 0005 else 0006 x = x->succ; 0007 } //O(n+m)