二进制方法 解 集合的幂集

mac2022-06-30  73

离散数学的一道作业题目,求集合的幂集。

代码如下(摘自网络,自己修改)

int i,j,k,t,y,sum;    int a[8]=0;  // 二进制数组有点投机取巧    SetElem *pAElem;    SetElem *pBElem;    pAElem = outToBuffer(pA);//pA输出缓存区    pFamilyOfSet pFamSet;    pFamSet = createNullFamilyOfSet();//创建空集族    for(i=0,pBElem=pAElem;*pBElem != '\n';++pBElem) //元素个数        i++;    for(j=i,sum=1;j>0;j--) //幂集总数        sum=sum*2;    for(k=1;k<=sum;k++)    {                pSet pC = createNullSet(); //创建子集pC        for(j=0;j<i;j++)        {               if(a[j]!=0)             {                  pBElem=pAElem;               for(y=0;y<j;y++)//添加对应的元素                    pBElem++;               directInsertSetElem(pC,*pBElem);//插入元素              }        }        insertToFamilyOfSet(pFamSet,pC);//插入子集        for(t=i-1;t>=0;t--)        {            if(a[t]==0)                {                    a[t]=1;                    break;                }            else                a[t]=0;            }    }    return pFamSet;

转载于:https://www.cnblogs.com/ss815367696/archive/2012/12/23/2830316.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)