字符串全排
2021/7/21 23:14:06
本文主要是介绍字符串全排,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
字符串全排
对字符串进行全排,就是对去掉某一个字符的字符串进行去全排,全排之后再加上去掉的那个字符。以此类推,对n个长度的字符进行全排,就要对n-1个长度的字符串进行全排,对n-1个长度的字符进行全排,就要对n-2个长度的字符串进行全排、、、、、
并且对每个长度的字符串的排序方式相同,所以要用递归。
代码如下 :
vector<string> permultation(string str)
{
vector<string>result;
if (str.size() == 0)
{
result.push_back(str);
return result;
}
int len = str.size();
for (int i = 0; i < len; i++)
{
string short_str = str.substr(0, i) + str.substr(i + 1);//获取除了第i项之外的全部字符串
vector<string>short_arr = permultation(short_str);//对n-1项的字符串进行全排
int len1 = short_arr.size();
for (int j = 0; j < len1; j++)//将全排的结果加上该字符串
{
string long_word= str[i]+short_arr[j];
result.push_back(long_word);
}
}
return result;//返回字符串数组
}
这篇关于字符串全排的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-26JavaScript入门教程:从零开始学习JavaScript编程
- 2024-12-26JavaScript入门教程:从零开始学习JavaScript
- 2024-12-26JS编程入门指南:从零开始学习JavaScript
- 2024-12-25Java编程面试题详解与解答
- 2024-12-25TS基础知识详解:初学者必看教程
- 2024-12-252024面试题解析与攻略:从零开始的面试准备指南
- 2024-12-25数据结构与算法学习:新手入门教程
- 2024-12-25初学者必备:订单系统资料详解与实操教程
- 2024-12-24内网穿透资料入门教程
- 2024-12-24微服务资料入门指南