有对全排列感到困难的同学看这里
2023-08-19 22:14:09
发布于:上海
说明一下嗦:这个方法只是C++自带的函数,具体内容还是要理解,考试时候可以应急使用
咱来介绍一下:it is next_permutation
用法具体是:
int cnt[10001];//其中10001就是定义时的长度
do{
//需要输出的东西
}while(next_permutaion(数组名,数组名+数组定义的长度)
这个函数只对于数组十分管用,现在咱们来举个例子:
对于字母全排列,我们用next_permutation来做
首先,逐个输入char,填入数组,以便操作。
接下来,按照如上的用法,来实现输入即可,十分简单
下面给出代码,ACGO题号:CP002702,题目名称:字母全排列
AC CODE
#include<bits/stdc++.h>
using namespace std;
int main(){
char jks[9];
cin>>jks;
char cnt[strlen(jks)];
for(int i=0;i<strlen(jks);i++){
cnt[i]=jks[i];
}
do{
for(int i=0;i<strlen(jks);i++){
cout<<cnt[i];
}
cout<<endl;
}while(next_permutation(cnt,cnt+strlen(jks)));
return 0;
}
这里空空如也
有帮助,赞一个