0001 template <typename T> void ListNode<T>::movePred(LNP<T> s) { //s != this 0002 pred->succ = succ; succ->pred = pred; //取出当前节点 0003 pred = s->pred; pred->succ = this; succ = s; s->pred = this; //转移到紧靠于s之前 0004 } //O(1) 0005 0006 template <typename T> void ListNode<T>::moveSucc(LNP<T> p) { //p != this 0007 succ->pred = pred; pred->succ = succ; //取出当前节点 0008 succ = p->succ; succ->pred = this; pred = p; p->succ = this; //转移到紧接于p之后 0009 } //O(1)