閉包的概念
如果在一個集合上的運算生成這個集合的元素那么就滿足閉包性質(zhì)。
假設一個集合s不閉合,我們找到一個包含s的最小集合滿足閉包性質(zhì),那么這個集合就是s關于這個運算的閉包。

關于自反閉包,對稱閉包,傳遞閉包的關系表示和矩陣表示和求法[going]
http://202.115.21.136:8080/lssx/end/imgs/8/ls84.files/8421.htm
--------------------------------------------
關系的復合類似矩陣的乘法,先與后或。運算的順序是相同的。
                  t(R)=R*R^1……R^n
--------------------------------------------
然而我們有更好的算法,要感謝warshall了

/*
*(C) 2007 Henry Shen
*/


#include
<iostream>
using namespace std;
int main(){
    
bool M[7][7]={
        
{1,1,0,0,0,0,0},
        
{0,0,0,1,0,0,0},
        
{0,0,0,0,1,0,0},
        
{0,1,0,0,0,0,0},
        
{0,0,0,0,0,0,0},
        
{0,0,0,0,0,0,0},
        
{0,0,0,0,0,0,0}
    }
;

    
int i;
    
int j,k;

    
for(i=0;i<7;i++)
    
{
        cout
<<endl;
        
for(j=0;j<7;j++)
        
{
            cout
<<M[i][j]<<" ";
        }

    }


    i
=j=k=0;

    cout
<<endl;
//-----------warshall算法-------------
    while(i<7)
    
{
        
for(j=0;j<7;j++)
        
{
            
if(M[j][i]==1)
            
{
                
for(k=0;k<7;k++)
                
{
                    M[j][k]
=M[j][k]||M[i][k];
                
                }

            }

        }

        i
++;
    }

//------------------------------------
    for(i=0;i<7;i++)
    
{
        cout
<<endl;
        
for(j=0;j<7;j++)
        
{
            cout
<<M[i][j]<<" ";
        }

    }


    system(
"pause");

    
return 0;

}