vector<vector<int> >b 二位陣列的輸出寫法
阿新 • • 發佈:2021-01-15
#include<cstdio> #include<algorithm> #include<string.h> #include<iostream> using namespace std; int main(){ vector<int>a={0,0,1,1,1}; vector<vector<int> >b; do{ b.push_back(a); }while(next_permutation(a.begin(),a.end())); for(int i=0;i<b.size();i++){//b.size()=10,因為以上全排列共10種 for(int j=0;j<b[i].size();j++) printf("%d ",b[i][j]); printf("\n"); } return 0; }
或用迭代器:
#include<cstdio> #include<algorithm> #include<string.h> #include<iostream> using namespace std; int main(){ vector<int>a={0,0,1,1,1}; vector<vector<int> >b; do{ b.push_back(a); }while(next_permutation(a.begin(),a.end())); for(vector<vector <int> >::iterator it=b.begin();it!=b.end();it++){ for(vector<int>::iterator it2=(*it).begin();it2!=(*it).end();it2++) printf("%d ",*it2); printf("\n"); } return 0; }