while(pa=NULl)( pc-link= pa-link; delete pa pa=pclink last= pc, return *this; template <class Type> Setlist< Type>& setlist<type>: operator -( SetList< Type> right& SetNode<type> pb=right first-link SetNode<type> ipa=first-link
while ( pa != NULL ) { pc→link = pa→link; delete pa; pa = pc→link; } last = pc; return *this; } template <class Type> SetList<Type>& SetList<Type> :: operator - ( SetList<Type> & right ) { SetNode<Type> *pb = right.first→link; SetNode<Type> *pa = first→link;
SetNode<Type> ipc=first; while(pa ! =NULL &&pb!=NULL)( if(pa-data==pb→daa) dpc-link= pa-link; delete pa; pa=pc-link; pb==pb-link; y else if(pa→data≤pb→→data) ipc=pc-link; pa=pa-link;) else pb=pb→link; if (pa== NULL) last=pc; return s this
SetNode<Type> *pc = first; while ( pa != NULL && pb != NULL ) { if ( pa→data == pb→data ) { pc→link = pa→link; delete pa; pa = pc→link; pb = pb→link; } else if ( pa→data < pb→data ) { pc = pc→link; pa = pa→link;} else pb = pb→link; } if ( pa == NULL ) last = pc; return *this; }
template <class Type> int Setlist<type>: operator == SetList< Type>& right t SetNode<type> pb= right, first-link SetNode<Type> pa=first-link; while(pa !=NuLL &&pb! =NULL) if (pa-data==pb-data) ipa=pa-link; pb=pb-link;) else return 0; if(pa=NULL pb!= NULL )return 0; return 1
template <class Type> int SetList<Type> :: operator == ( SetList<Type> & right ) { SetNode<Type> *pb = right.first→link; SetNode<Type> *pa = first→link; while ( pa != NULL && pb != NULL ) if ( pa→data == pb→data ) { pa = pa→link; pb = pb→link;} else return 0; if ( pa != NULL || pb != NULL ) return 0; return 1; }
等价类与并查集 等价关系与等价类 Equivalence class 在求解实际应用问题时常会遇到等价类问题。 从数学上看,等价类是一个对象或成员)的集 合,在此集合中所有对象应满足等价关系。 n若用符号“=表示集合上的等价关系,那么 对于该集合中的任意对象x,y,z,下列性质成 立 自反性:x≡x(即等于自身) a对称性:若x=y,则y≡x 传递性:若x≡y且y≡,则x≡z 因此,等价关系是集合上的一个自反、对称 怕的
等价关系与等价类(Equivalence Class) 等价类与并查集 ◼ 在求解实际应用问题时常会遇到等价类问题。 ◼ 从数学上看,等价类是一个对象(或成员)的集 合,在此集合中所有对象应满足等价关系。 ◼ 若用符号“”表示集合上的等价关系,那么 对于该集合中的任意对象x, y, z,下列性质成 立: ◼ 自反性:x x (即等于自身)。 ◼ 对称性:若 x y, 则 y x。 ◼ 传递性:若 x y且 y z, 则 x z。 ◼ 因此,等价关系是集合上的一个自反、对称、 传递的关系
“相等”(=)就是一种等价关系,它满足上述 的三个特性。 个集合S中的所有对象可以通过等价关系 划分为若干个互不相交的子集S1,S2,S3… 它们的并就是S。这些子集即为等价类。 确定等价类的方法 分两步走。 第一步,读入并存储所有的等价对(i,j); 第二步,标记和输出所有的等价类
◼ “相等”(=)就是一种等价关系,它满足上述 的三个特性。 ◼ 一个集合 S 中的所有对象可以通过等价关系 划分为若干个互不相交的子集 S1 , S2 , S3 , …, 它们的并就是 S。这些子集即为等价类。 确定等价类的方法 分两步走。 第一步,读入并存储所有的等价对(i, j ); 第二步,标记和输出所有的等价类