Cod sursa(job #240072)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 6 ianuarie 2009 20:00:51
Problema Sortare prin comparare Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.67 kb
/*

Bucket Sort

*/
#include <stdio.h>
#define N 1000001
int v[N],temp[N];
void bucket(int n){
     int k=0,min=v[0],max=v[0],i;
     for (i=0;i<n;++i){
         ++temp[v[i]];
         if (v[i]>max)
            max=v[i];
         if (v[i]<min)
            min=v[i];
     }
     for (i=min;i<=max;++i)
         while (temp[i]){
               --temp[i];
               ++k;
               v[k]=i;
         }
}
int main(){
    int i,n;
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    scanf("%d",&n);
    for (i=0;i<n;++i)
       scanf("%d",&v[i]);
    bucket(n);
    for (i=0;i<n;++i)
       printf("%d ",v[i]);
    return 0;
}