今天面试问到了一道题目,也不知道讲清楚了没,当时自己的思维也有些乱! 求一个字符串的全排列。 void all_sort( char * a, int start, int end) ... { if (start == end) ...{ for(int i = 0; i<=end; i++) ...{ printf("%c", a[i]); } printf(" "); g_num++; } else ...{ for (int j = start; j<=end; j++) ...{ swap_char(a[start], a[j]); int next_start = start+1; all_sort(a, next_start, end); swap_char(a[start], a[j]); } }} int main( int argc, char * argv[]) ... { char a[]="abcdef"; all_sort(a, 0, 3); printf("total num:%d ", g_num); return 0;}