字母全排列c++代码
时间: 2023-10-02 09:04:36 浏览: 91
求字符串的全排列
以下是一个使用递归方法实现全排列的C++代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
// 交换字符串中两个字符的位置
void swap(string& str, int i, int j) {
char temp = str[i];
str[i = str[j];
str[j = temp;
}
// 对字符串的[start, end区间进行全排列
void permute(string str, int start, int end) {
if (start == end) {
cout << str << endl; // 打印排列结果
} else {
for (int i = start; i <= end; i++) {
swap(str, start, i); // 交换第一个字符与后面的字符
permute(str, start + 1, end); // 递归全排列后面的字符
swap(str, start, i); // 恢复字符串原来的顺序,方便下一次交换
}
}
}
int main() {
string str = "c";
permute(str, 0, str.length() - 1);
return 0;
}
```
运行以上代码,输出结果为:
```
c
```
这是由于字符串 "c" 只有一个字符,所以它的全排列就是它本身。
阅读全文