#include<stdio.h>
#define NR 20
int a[NR]; /*一个全局数组*/
int m;
void HeapPermute(int n)
{
int i,temp;
if(n==1)
{
for(i=1;i<=m;i++)
printf("%d ",a[i]);
printf("/n");
}
else
{
for(i=1;i<=n;i++)
{
HeapPermute(n-1);
if(n%2)
{
temp=a[1];
a[1]=a[n];
a[n]=temp;
}
else
{
temp=a[i];
a[i]=a[n];
a[n]=temp;
}
}
}
}
int main()
{
int i;
printf("Please enter a number:");
scanf("%d",&m);
for(i=1;i<=m;i++)
a[i]=i;
HeapPermute(m);
return 0;
}
HeapPermute排序算法
最新推荐文章于 2020-03-05 18:06:11 发布