利用next_permutation()实现全排列 完成 阮小二买彩票

全排列问题可以使用 头文件<algorithm> 中的  next_permutation(a.start,a.end)函数。

但是需要注意这个函数在使用前需要先对 数组做升序排列(   可以使用<algorithm>中的sort(a.start,a.end)   )否则只会输出比该序列大的序列。

如果有更大的数 next_permutation()会返回true,否则返回false。

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>

using namespace std;


int main(int argc, char *argv[]) {
	char arr[6];
	scanf("%s",arr);
	int len = strlen(arr);
	sort(arr,arr+len);
	do{
		printf("%s\n",arr);
	}while(next_permutation(arr,arr+len));
	return 0;
}

  

posted @ 2020-10-12 17:52  Guser  阅读(84)  评论(0编辑  收藏  举报