程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Sicily 4495. Print permutations

Sicily 4495. Print permutations

編輯:C++入門知識

按字典序生成字符串的全排列

直接遞歸:

 

#include <iostream>
#include <string>
#include <cstring>

using namespace std;

int len;
bool ever[9];
string str;

void permutation(string cur)
{
	if(cur.size() == len)
	{
		cout<<cur<<endl;
		return ;
	}
	for(int i=0;i<len;++i)
	{
		if(!ever[i])
		{
			ever[i] = 1;
			permutation(cur + str[i]);
			ever[i] = 0;
		}
	}
}

int main()
{
	while(cin>>str)
	{
		memset(ever,0,sizeof(ever));
		len = str.size();
		permutation("");
	}
	return 0;
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved