zoukankan      html  css  js  c++  java
  • 某个集合的子集问题

    int WToSigArray(int* A, int n)//消除重复元素
    {
        int i,j,k;
        for( i = k = 1; i < n; i++)
        {
            for( j = 0; j < k; j++)
            {
                if(A[j] == A[i])
                {
                  break;
                }
            }
    
            if(j == k) 
            {
                A[k] = A[i];
                k++;            
            }
        }
    
        return k;
    }
    
    int Subset( int* A, int n, int* B, int m, int cur) //集合A,输出m个元素的子集B
    {
        static int number = 0;  
    
        if(cur == m)
        {   
            number++;
            for(int i = 0; i< m; i++)
            {
                printf("%d ", B[i]);
            }
            printf("
    "); 
        }
        else
        {
            for(int i = 0; i < n; i++)
            {
                int ok = 1; 
                for(int j = 0; j < cur; j++)
                {
                    if(B[j] == A[i] || B[j] > A[i])
                    {
                        ok = 0;
                    }
    
                }
    
                if(ok)
                {
                    B[cur] = A[i];
                    Subset(A, n, B, m, cur + 1);
                    
                }            
    
            }
        }
    
        return number;
    }
    
    
    int WSubset(int* A, int n, int m)
    {
        
            int N = WToSigArray(A, n);    
        printf("to single data:
    ");
        for(int i = 0; i < N; i++)
        {
            printf("%d ", A[i]);
        }
        printf("
    Subset:
    ");
        int   cur = 0;
        int*  B = (int*)malloc(sizeof(int)*m);
        int number = Subset(A, N, B, m, cur);
        delete [] B;
        B = NULL;
        return number;
    }
  • 相关阅读:
    02-print的用法
    01-Hello World
    01-查看系统整体性能情况:sar
    03-购物车
    Python之路,Day2
    02-三级菜单
    Python之路,Day1
    loadrunner中配置java脚本环境
    算法
    实现testNg的retry机制
  • 原文地址:https://www.cnblogs.com/welen/p/3938817.html
Copyright © 2011-2022 走看看