0001 template <typename T> void List<T>::dedup() { //O(n^2) 0002 for (LNP<T> p = first(); p != tail; p = p->succ) //在无重的前缀(head,p)中 0003 if (LNP<T> q = find(head, p->data, p)) //查找可能与p相等的q 0004 remove(q); //若q确实存在,则(在常数时间内)删除之 0005 } //dedup