全排列:
// 1.n个数的全排列
#include <stdio.h>
const int N = 4;
int a[N] = {1,2,3,4};
void swap(int &a,int &b)
{
int t ;
t = a;
a = b;
b = t;
}
void permutation(int m,int n)
{
int i;
if(m==n)
{
for(i = 0;i<=n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
for(i = m;i<=n;i++)
{
swap(a[i],a[m]);
permutation(m+1,n);
swap(a[i],a[m]);
}
}
int main()
{
permutation(0,3);
return 0;
}
// 1.n个数的全排列
#include <stdio.h>
const int N = 4;
int a[N] = {1,2,3,4};
void swap(int &a,int &b)
{
int t ;
t = a;
a = b;
b = t;
}
void permutation(int m,int n)
{
int i;
if(m==n)
{
for(i = 0;i<=n;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
for(i = m;i<=n;i++)
{
swap(a[i],a[m]);
permutation(m+1,n);
swap(a[i],a[m]);
}
}
int main()
{
permutation(0,3);
return 0;
}