C语言全排列
#include <stdio.h> int m=5; char s[]="12345"; void Swap(char *a, char *b)//元素交换 { char t = *a; *a = *b; *b = t; } void qp(int n){ if(n==4){ puts(s); return; } for(int i=n;i<m;i++){ Swap(&s[i], &s[n]);//选取第i个元素放在前面 qp(n+1);//递归 Swap(&s[i], &s[n]);//恢复 } } int main() { qp(0); }