标签:字符串排序
//求一个字符串的全排列,我感觉自己实现真的是太难了。确定性的东西易求,但有点不确定的东西就难整了。标准模板库里面的算法算法next_permutation(arr,arr+strlen(arr))真的不错,尽管用cin cout会超时,但换成scanf printf就可以了
题目描述:
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。#include<algorithm>
#include <stdio.h>
#include <string.h>
using namespace std;
int main()
{
char *arr=new char[10];
while(scanf("%s",arr)!=EOF)
{
sort(arr,arr+strlen(arr));
printf("%s\n",arr);
while(next_permutation(arr,arr+strlen(arr)))
printf("%s\n",arr);
}
return 0;
}
/**************************************************************
Problem: 1369
User: hndxztf
Language: C++
Result: Accepted
Time:130 ms
Memory:1024 kb
****************************************************************/标签:字符串排序
原文地址:http://blog.csdn.net/mnmlist/article/details/39558083