读书人

全排列 不反复算法

发布时间: 2012-12-27 10:17:10 作者: rapoo

全排列 不重复算法

#include<stdio.h>int a[10],n,count;void sequence(int k){int i,tmp;if(k==n){printf("Case %5d:",++count);for(i=0;i<n;i++)printf("%d%c",a[i],i==n-1 ? '\n' : ' ');return;}for(i=k;i<n;i++){if(i!=k && a[i] == a[i-1])continue;tmp=a[k];a[k]=a[i];a[i]=tmp;sequence(k+1);tmp=a[k];a[k]=a[i];a[i]=tmp;}}int main(){int i;while(scanf("%d",&n)!=EOF){count=0;for(i=0;i<n;i++)scanf("%d",&a[i]);sequence(0);}return 0;}


读书人网 >编程

热点推荐