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;

  • 相关阅读:
    KVM切换声音关闭
    tmux 快捷键
    arp绑定网关MAC地址错误
    javascript的字符串模板
    cheerio, dom操作模块
    footable动态载入数据
    node-js访问rest api的方法
    重装eclipse要做的事
    爬虫(三):对requests、xpath模块
    Java-基础篇(类和对象)
  • 原文地址:https://www.cnblogs.com/ss815367696/p/2830316.html
Copyright © 2011-2022 走看看