字符串的全排列——按字典顺序
2015-04-28 21:13
246 查看
题目1369:字符串的排列
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2675
解决:677
题目描述:
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
输入:
每个测试案例包括1行。
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。
输出:
对应每组数据,按字典序输出所有排列。
样例输入:
样例输出:
1.注意按字典顺序;
2.sort(str,str+len);将字符串排序;
3.stl中的next_permutation()是用来计算某个字符串的下一个全排列的。
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:2675
解决:677
题目描述:
输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。
输入:
每个测试案例包括1行。
输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。
输出:
对应每组数据,按字典序输出所有排列。
样例输入:
abc
BCA
样例输出:
abc
acb
bac
bca
cab
cba
ABC
ACB
BAC
BCA
CAB
CBA
#include <iostream> #include <cstring> #include <algorithm> #include <cstdio> using namespace std; int main() { char str[10]; while(gets(str)) { int len=strlen(str); sort(str,str+len); do { cout<<str<<endl; }while(next_permutation(str,str+len));//发现了stl中的next_permutation()是用来计算某个字符串的下一个全排列的。还有一个prev_permutation(),其作用相反。 /*while(next_permutation(str,str+len)) cout<<str<<endl;*/ } return 0; }
1.注意按字典顺序;
2.sort(str,str+len);将字符串排序;
3.stl中的next_permutation()是用来计算某个字符串的下一个全排列的。
相关文章推荐
- 对输入的字符串按字典顺序输出所有的全排列,字符串可以由重复字符
- 拼接所有字符串产生字典顺序最小的大写字符串
- 字符串排序-字典顺序
- 找到一个数的所有字典序即字符串的全排列
- 给定一个只包含小写字母的字符串,删除重复的字母,每个字母只出现一次。在所有结果中,输出字典顺序最小的。
- 把字符串按字典顺序排序
- 编写程序,循环接收用户从键盘输入多个字符串,直到输入“ end”时循环结束,并将所有 已输入的字符串按字典顺序倒序打印。
- 编写一个程序,输入一串不超过60个字符组成的且不包含换行符的字符串,将字符串中的A到Z的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度相同,并且要求只对A到Z的字母重新排列,其
- 在一个集合中存储了无序并且重复的字符串,定义一个方法,让其有序(字典顺序),而且还不能去除重复
- java 给定一个字符串数组。按照字典顺序进行从小到大的排序。
- 牛客网三道编程题(四)华为机试在线训练(三)将数字逆序输出、将n个字符串按照字典顺序排序
- 对如输入字符串 a,b, 输出 aa ab ba bb, 按字典输出顺序
- 全排列,字典顺序问题 ( permutations/leetcode)
- 编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。
- 按照字典顺序对字符串数组进行从大到小的排序。
- 在一个集合中存储了无序并且重复的字符串,定义一个方法,让其有序(字典顺序),而且还不能去除重复
- c语言冒泡实现将一个字符串按照字典顺序输出
- 对字符串求字典序全排列(字符可重复)
- 字符串问题---拼接所有字符串产生字典顺序最小的大字符串
- 编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。