天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 191|回复: 0

combination 组合

[复制链接]
  • TA的每日心情
    开心
    昨天 06:36
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    105

    主题

    11

    回帖

    1308

    积分

    管理员

    积分
    1308
    QQ
    发表于 2024-3-12 15:25:18 | 显示全部楼层 |阅读模式
    1.         static vector<vector<double>> combination(vector<double> arr,int m)
    2.         {
    3.                 vector<vector<double>>arrs;
    4.                 if (arr.size()>0 && m > 0)
    5.                 {
    6.                         vector<double> cdr = arr;
    7.                         cdr.erase(cdr.begin());            
    8.                         vector<vector<double>> tmparrs1=combination(cdr,m-1);
    9.                         if (tmparrs1.size()==0 && m ==1)
    10.                         {
    11.                                 vector<double> tmp;
    12.                                 tmp.push采用back(arr.at(0));
    13.                                 arrs.push采用back(tmp);
    14.                         }
    15.                         else
    16.                         {
    17.                                 for (int i=0;i<tmparrs1.size();i++)
    18.                                 {               
    19.                                         tmparrs1.at(i).insert(tmparrs1.at(i).begin(),arr.front());
    20.                                 }
    21.                                 arrs.insert(arrs.begin(),tmparrs1.begin(),tmparrs1.end());               
    22.                         }
    23.                         vector<vector<double>> tmparrs2 = combination(cdr,m);
    24.                         if (!tmparrs2.size()==0)
    25.                         {
    26.                                 arrs.insert(arrs.begin(),tmparrs2.begin(),tmparrs2.end());
    27.                         }                        
    28.                 }
    29.                 return arrs;
    30.         }
    31. static        void Combination(const vector<double>v, const int num,vector<vector<double>>result)
    32.         {
    33.                 if (v.empty()) {
    34.                         return;
    35.                 }
    36.                 else if (v.size() == 1) {
    37.                         result.push采用back(v);
    38.                         return;
    39.                 }
    40.                 //求不同长度的组合
    41.                 vector<double> temp采用v;
    42.                 for (int i = num; i <= v.size(); ++i) {
    43.                         Combination采用n(v, temp采用v, 0, i, result);
    44.                 }
    45.         }
    复制代码

     

     

     

     

    combination 组合
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-11-1 13:41 , Processed in 0.188630 second(s), 32 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表