Сгенерировать список всех возможных перестановок строки
Лучше использовать отслеживание strings с возвратом
#include
#include
void swap(char *a, char *b) {
char temp;
temp = *a;
*a = *b;
*b = temp;
}
void print(char *a, int i, int n) {
int j;
if(i == n) {
printf("%s\n", a);
} else {
for(j = i; j <= n; j++) {
swap(a + i, a + j);
print(a, i + 1, n);
swap(a + i, a + j);
}
}
}
int main(void) {
char a[100];
gets(a);
print(a, 0, strlen(a) - 1);
return 0;
}
string
language-agnostic
cross-platform
2021-12-01T16:01:45+00:00
2022-10-17T00:08:21+00:00
Casablancas
Вопросы с похожей тематикой, как у вопроса:
Сгенерировать список всех возможных перестановок строки
Предупреждение о файлах Cookies
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.