1. 程式人生 > >全排列函式next_permutation

全排列函式next_permutation

全排列函式next_permutation

next_permutation(begin,end)在algorithm標頭檔案中,begin是陣列的頭,end是陣列的尾
char/int型別:

#include<iostream>
#include<algorithm>   //next_permutation所在的標頭檔案
#include<cstring>
using namespace std;
/*
C++中全排列函式的使用:但它不會輸出原始輸入的那種排列方式 
*/
int main()
{
	int len;
	char a[1000];
	while(cin>>a)  //輸入 
	{
		len=strlen(a);  //求得陣列長度 
		while(next_permutation(a,a+len))  //遍歷整個陣列 
		{
			cout<<a<<endl;   //輸出每一種可能 
		}
		memset(a,'\0',sizeof(a));  //初始化 
	} 	
	return 0;
} 

string型別:

#include<iostream>
#include<algorithm>   //next_permutation
#include<cstring>
using namespace std;
/*
C++中全排列函式的使用:但它不會輸出原始輸入的那種排列方式 
*/
int main()
{
	int len;
	string s;
	while(cin>>s)  //輸入 
	{
		len=s.length();  //求得陣列長度 
		while(next_permutation(s.begin(),s.end()))  //遍歷整個陣列 
		{
			cout<<s<<endl;   //輸出每一種可能 
		}
	} 	
	return 0;
}