📄 weiss_f_08_06.cpp
字号:
#include<cstdio>#define NumSets 100typedef int DisjSet[ NumSets + 1 ];typedef int SetType;typedef int ElementType;void initialize( DisjSet set );void setUnion( DisjSet set , SetType Root1 , SetType Root2 );SetType find( Element x , DisjSet set );void initialize( DisjSet set ){ int i ; for ( i = NumSets; i > 0; i-- ) set[ i ] = -1;}void setUnion1( DisjSet set , SetType Root1 , SetType Root2 ){ set[ Root2 ] = Root1;}void setUnion2( DisjSet set , SetType Root1 , SetType Root2 ){ if ( set[ Root2 ] < set[Root1 ] ) set[ Root1 ] = Root2; else if ( set[ Root1 ] < set[ Root2 ] ) set[ Root2 ] = Root1; else { set[ Root1 ] --; set[ Root2 ] = Root1; }} SetType Find( ElementType key , DisjSet set ){ if ( set[ key ] <= 0 ) return key; else return find( set[ key ] , set );}SetType find( Element key , DisjSet set ){ if ( set[ key ] <= 0 ) return key; else return set[ x ] = find( set[ key ] , set );}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -