zoukankan      html  css  js  c++  java
  • 二进制方法 解 集合的幂集

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

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

    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;

  • 相关阅读:
    一个Electron的设计缺陷及应对方案
    如何点击穿透Electron不规则窗体的透明区域
    Electron团队为什么要干掉remote模块
    Clickhouse 单机双实例
    Kafka安全认证SASL/PLAIN
    Syslog的使用
    Kafka Consumer
    Kafka Producer客户端
    Kafka客户端操作
    springboot集成flyway实践
  • 原文地址:https://www.cnblogs.com/ss815367696/p/2830316.html
Copyright © 2011-2022 走看看