题解 | #全排列#

全排列

https://www.nowcoder.com/practice/5632c23d0d654aecbc9315d1720421c1

#include <iostream>
#include <cstring>
using namespace std;

char str[7];
char board[7];
bool isused[7];

void myout(int maxlevel,int now){
    if(maxlevel==now){
        for(int i=0;i<maxlevel;i++){
            if(!isused[i]){
                board[now-1]=str[i];
                cout<<board<<endl;
            }
        }
    }
    else{
        for(int i=0;i<maxlevel;i++){
            if(!isused[i]){
                board[now-1]=str[i];
                isused[i]=true;
                myout(maxlevel,now+1);
                isused[i]=false;
            }
        }
    }
}

int main() {
    cin>>str;
    myout(strlen(str),1);
    system("pause");
    return 0;
}

全部评论

相关推荐

每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 13:54
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务