数的排列的递归实现-C++ STL实现
2018-07-20 来源:open-open
#include <iostream> #include <vector> #include "iterator" #include "algorithm" #include "string" #include "stdio.h" using namespace std; ostream_iterator<int> oi(cout,""); int icount = 0; void pailie(vector<int> vectNum,vector<int> &result,int start, int n) { if(start == n) { //copy(result.begin(),result.end(),oi); //cout<<" "; icount++; return; }; int i; for(i=0;i<vectNum.size();i++){ result[start] = vectNum[i]; vector<int> vectNew = vectNum; vectNew.erase(vectNew.begin()+i); pailie(vectNew,result,start+1,n); } } void pailie(vector<int> vectNum,vector<int> &result, int n) { if(vectNum.size()<n) return; pailie(vectNum,result, 0, n); } void main() { int a[9] = {1,2,3,4,5,6,7,8,9}; vector<int> vectNum(a,a+9); int n=6; vector<int> result(n); pailie(vectNum, result,n); cout<<endl<<icount<<endl; }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:C#生成Code128码
最新资讯
热门推荐