全排列问题
#include <stdio.h> #include <stdlib.h> swap(char* str, int b, int e){ char temp = str[b]; str[b] = str[e]; str[e] = temp; } print(char* str, int n){ int i; for(i = 0; i< n; i++){ printf("%c ", str[i]); } printf("\n"); } int quanXuLie(char* str, int b, int n){ int i; if(n <= 1){ print(str, 3); return 1; } for(i = b; i < b + n; i++){ swap(str, b, i); quanXuLie(str, b + 1, n - 1); swap(str, b, i); } } main(){ char str[] = {'a', 'b', 'c'}; quanXuLie(str, 0, 3); }