打印一个不重复字符串数组的所有组合
程序员文章站
2024-03-15 18:59:06
...
// 打印一个字符串数组的所有组合,数组中字符串不重复
// 打印包含n个字符的排序
int print_all_str_combin(char array[], char a[], int n) {
if (a == nullptr || n < 0) {
return 0;
}
if (n == 0) {
cout << array << endl;
} else {
for (int i = 0; i < n; i++) {
swap(a[0], a[i]);
print_all_str_combin(a + 1, n - 1);
swap(a[i], a[0]);
}
}
return 0;
}
// 打印包含n个字符的排序
int print_all_str_combin(char a[], int n) {
if (a == nullptr || n < 0) {
return 0;
}
if (n == 0) {
cout << a << endl;
} else {
for (int i = 0; i < n; i++) {
swap(a[n - 1], a[i]);
print_all_str_combin(a, n - 1);
swap(a[n - 1], a[i]);
}
}
return 0;
}
// 打印包含n个字符的排序
int print_all_str_combin(char a[], char* begain) {
if (a == nullptr || begain == nullptr) {
return 0;
}
if (*begain == '\0') {
cout << a << endl;
} else {
for (char *p = begain; *p != '\0'; p++) {
swap(begain, p);
print_all_str_combin(a, begain + 1);
swap(begain, p);
}
}
return 0;
}
下一篇: 求0到10的阶乘之和
推荐阅读
-
打印一个不重复字符串数组的所有组合
-
LeetCode题解(0040):在不重复数组中找到和为目标数的所有组合(每个数字只能用一次)(Python)
-
编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。
-
求助一个数组元素所有组合的算法
-
Leetcode:给定一个数组,从其中选取三个数,要求三个数的和必须是0,求出所有这样的组合
-
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的 任意个数之和 等于 target,并打印出所有结果的索引。
-
一个数组数组,请组合成一个最大的数字字符串
-
一个数组数组,请组合成一个最大的数字字符串
-
不重复打印排序数组中相加和为给定值的所有二元组和三元组
-
不重复打印排序数组中相加和为给定值的所有二元组和三元组