【day-1】数组全排列

    xiaoxiao2021-03-25  14

    #include <iostream> using namespace std; /*利用引用,交换两个数据*/ void myswap(int &a, int &b) { int temp=a; a=b; b=temp; } /** @a[] 是数组 @k 是递归到哪个下标 @length 是数组的长度 **/ void perm(int a[], int k, int length) { static int counter=0; if(k>=length-1) { cout<<"["<<++counter<<"] : "; for(int i=0;i<length;i++) { cout<<a[i]<<" "; } cout<<endl; }else { for(int i=k;i<length;i++) { myswap(a[i],a[k]); perm(a,k+1,length); myswap(a[i],a[k]); } } } int main() { int a[]={1,2,3,4}; perm(a,0,sizeof(a)/sizeof(a[0])); return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-200272.html

    最新回复(0)