标签:
1 #include<stdio.h> 2 #include<string.h> 3 4 int a[10010],w[10010],p[10010],o[10010]; 5 6 void Barrel_Sort(int *a,int n,int mx) 7 { 8 int i; 9 memset(w,0,sizeof(w)); 10 for(i=1;i<=n;i++) 11 w[a[i]]++; 12 for(i=1;i<=mx;i++) 13 w[i]=w[i]+w[i-1]; 14 for(i=1;i<=n;i++){ 15 p[i]=w[a[i]]; 16 w[a[i]]--; 17 } 18 for(i=1;i<=n;i++) 19 o[p[i]]=i; 20 } 21 22 int main() 23 { 24 int n,i,mx; 25 while(scanf("%d",&n)!=EOF) 26 { 27 memset(p,0,sizeof(p)); 28 mx=0; 29 for(i=1;i<=n;i++) 30 { 31 scanf("%d",&a[i]); 32 if(a[i]>mx) 33 mx=a[i]; 34 } 35 Barrel_Sort(a,n,mx); 36 printf("%d\n",n-1); 37 for(i=1;i<n;i++) 38 { 39 printf("%d %d\n",i,p[i]); 40 } 41 } 42 return 0; 43 } 44
标签:
原文地址:http://www.cnblogs.com/cyd308/p/4520566.html