Chinaunix首页 | 论坛 | 博客
  • 博客访问: 33828
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 62
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-17 20:56
个人简介

品味工作生活人生,实现自我人生价值,

文章分类
文章存档

2014年(5)

分类: C/C++

2014-04-18 19:23:10

 

全组合递归算法 

/* 总共N个集合,每个集合有M个元素(视为不同); */

std::vectorvector<Uint8> > _tfsNumVect;

/* 每种组合方案中待打印的各个元素的汇集Vect; */

std::vector<Uint8> _dumpNumVect;

/* tfsNumIndex:x个集合,0开始,最大为size-1; */

注意:针对数组以及容器的索引边界的控制,切勿越界读写发生异常;

void DumpInfo(Uint8 tfsNumIndex)

{

    if(tfsNumIndex >= _tfsNumVect.size())

    {

       printf(" {");

       for(Uint8 i=0;i<_dumpNumVect.size();i++)

       {

           printf(" %d ",_dumpNumVect[i]);

       }

       printf("\n");

    }

    else

    {

       for(Uint8 i=0;i<_tfsNumVect[tfsNumIndex].size();i++)

       {

           _dumpNumVect.push_back(_tfsNumVect[tfsNumIndex][i]);

           DumpInfo(tfsNumIndex+1);

           _dumpNumVect.pop_back();

       }

    }

}

int main() {

    for(Uint8 i=0;i<qosConfPara.trchTotalNum;i++)

    {

       std::vector<Uint8> tempVect;tempVect.clear();

       for(Uint8 k=0;k<qosConfPara.trchConfPara[i].tfsNum;k++){   

           tempVect.push_back(k);

       }

       _tfsNumVect.push_back(tempVect);

    }

    DumpInfo(0);

}

阅读(2118) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~