// 打印一个字符串数组的所有组合,数组中字符串不重复
// 打印包含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;
}
打印一个不重复字符串数组的所有组合
最新推荐文章于 2023-12-21 12:13:12 发布