全排列(递归)

全排列

没啥好说的

就是把一个字符串或者一串数字全排列

比如123:

1 2 3

1 3 2

2 1 3

2 3 1

3 2 1

3 1 2

看代码:

#include<bits/stdc++.h>
using namespace std;
void str1(string str,int i,int n){
    if(i==n-1){
        cout<<str<<endl;//排列完了输出 
        return;
    }else{
        for(int j = i;j<n;j++){
            swap(str.at(i),str.at(j));//交换 
            str1(str,i+1,n);
        }
    }
}
int main(){
    str1("abcd",0,4);
    return 0;
} 

 

posted @ 2022-05-11 20:46  陈瑞淞  阅读(41)  评论(0)    收藏  举报