首页 > 代码库 > 打印任意字符串排列组合
打印任意字符串排列组合
#include <iostream>
#include <string>
using namespace std;
void swap(string& s,int i,int j)
{
char a = s[i];
s[i] = s[j];
s[j] = a;
}
void myPrint(string& s, size_t index)
{
if (index >= s.size())
{
cout << s << endl;
return;
}
for (size_t i = index; i < s.size(); i++)
{
swap(s ,index ,i);
myPrint(s,index+1);
swap(s, index, i);
}
}
void test(string s)
{
myPrint(s, 0);
cout << endl;
}
int main()
{
test("");
test("a");
test("ab");
test("abc");
test("abcd");
return 0;
}
打印任意字符串排列组合
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。