什么是公排系统?公排制模式并不是单一的模式,按照制度、模式、奖金等不同形式分为:全球公排一条线模式、二二复制公排(双轨制)、三三复制排位(三轨制)、五级三阶模式等等,自动滑落跳排排位。
输入字符,对字符进行全排列。这里用了两种方法,递归调用(一些书上写的是DFS)和c++系统自带的方式。
#include <iostream>
#include<string>
#include<algorithm>
using namespace std;
char output[10];bool s[10];
void permutation(string str, int index){if (index == str.size()){for (int i = 0; i < str.size(); i++) {cout << output[i];}cout << endl;return;}
for (int i = 0; i < str.size(); i++) //每个位置有3个选择
{
if (s[i] ) { continue; }//这个位置不能选这个字母,直接跳过
output[index] = str[i];
s[i] = true;
permutation(str, index+1);
s[i] = false; //回溯,重要一步
}
int main(){string s;cin >> s;//自定义全排列permutation(s, 0);
//系统的全排列行数,没有下一个时返回false
while (next_permutation(s.begin(), s.end() )) {
cout << s << endl;
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。