c_cpp 给定字符串的排列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 给定字符串的排列相关的知识,希望对你有一定的参考价值。
//https://www.geeksforgeeks.org/write-a-c-program-to-print-all-permutations-of-a-given-string/
#include<bits/stdc++.h>
using namespace std;
vector <string> v;
void func (string s, int l, int r) {
if (l==r)
v.push_back(s);
else {
for (int i=l;i<=r; i++) {
swap(s[l], s[i]);
sort(s.begin()+l+1, s.end());
func(s, l+1, r);
swap(s[l], s[i]);
}
}
}
int main()
{
int t;
cin>>t;
cin>>ws;
while (t-->0) {
string s;
getline (cin,s);
int n=s.length();
sort(s.begin(), s.end());
func(s, 0, n-1);
for (auto a = v.begin(); a!= v.end(); a++)
cout<< *a << " ";
cout<< "\n";
v.clear();
}
return 0;
}
以上是关于c_cpp 给定字符串的排列的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 给定可能包含重复项的数字集合,返回所有可能的唯一排列。例如,[1,1,2]有以下内容
c_cpp 字符串的排列的.cpp
c_cpp 重新排列二进制字符串作为备用x和y出现
c_cpp 从给定的字符串中删除空格 - GeekforGeeks
c_cpp 使用后缀数组计算给定文本中子字符串的出现次数
c_cpp 从给定模式生成所有二进制字符串