menu Error0 Blog
全排列
27686 浏览 | 2019-08-11 | 分类:算法 | 标签:

【题目描述】

给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列。

我们假设对于小写字母有‘a’ <‘b’ < ... <‘y’<‘z’,而且给定的字符串中的字母已经按照从小到大的顺序排列。

【输入】

只有一行,是一个由不同的小写字母组成的字符串,已知字符串的长度在1到6之间。
【输出】

输出这个字符串的所有排列方式,每行一个排列。要求字母序比较小的排列在前面。字母序如下定义:

已知S=s1s2...sk,T=t1t2...tk
,则S<T等价于,存在p(1≤p≤k),使得s1=t1,s2=t2,...,sp−1=tp−1,sp<tp

成立。

【输入样例】

abc

【输出样例】

abc
acb
bac
bca
cab
cba

【来源】

No

代码示例

#include <iostream>
using namespace std;
int len;
int a[10];
void dfs(char str[],int index,char bf[])
{
    if (index == len)
    {
        for (int i = 0; i < strlen(bf); i++)
        {
            cout << bf[i];
        }
        cout << endl;
        return;
    }
    for (int i = 0; i < strlen(str); i++)
    {
        if (a[i] == 0)
        {
            bf[index] = str[i];
            a[i] = 1;
            dfs(str, index+1,bf);
            a[i] = 0;
        }
    }
}
int main()
{
    char str[10];
    cin >> str;
    len = strlen(str);
    char bf[10];
    f(str,0,bf);
}
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

发表评论

email
web

全部评论 (暂无评论)

info 还没有任何评论,你来说两句呐!

Emoji

Warning: file_get_contents(/assets/json/owo.json): failed to open stream: No such file or directory in /www/wwwroot/build/usr/themes/Cuckoo/includes/owo.php on line 46

Warning: array_keys() expects parameter 1 to be array, null given in /www/wwwroot/build/usr/themes/Cuckoo/includes/owo.php on line 48

Warning: file_get_contents(/assets/json/owo.json): failed to open stream: No such file or directory in /www/wwwroot/build/usr/themes/Cuckoo/includes/owo.php on line 87

Warning: array_keys() expects parameter 1 to be array, null given in /www/wwwroot/build/usr/themes/Cuckoo/includes/owo.php on line 89