Cod sursa(job #1019454)

Utilizator Emanuel9Dumitru Emanuel Cristian Emanuel9 Data 31 octombrie 2013 09:31:27
Problema Sortare prin comparare Scor 20
Compilator c Status done
Runda Arhiva educationala Marime 0.67 kb
#include "stdio.h"
#include "stdlib.h"

#define max_nr_buckets 1000

void BucketSort(int *v,int n){
    int Buckets[max_nr_buckets]={0};


    int i,j,k;
    for(i=0;i<n;i++)
        ++Buckets[v[i]];
    for(i=0,j=0;j<max_nr_buckets;++j){
        for(k=Buckets[j];k>0;--k)
            v[i++]=j;
    }


}
int main()
{
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    int *v,n;
    int i;
    scanf("%d",&n);
    v=(int *)calloc(n,sizeof(int));
    for(i=0;i<n;i++)
        scanf("%d",&v[i]);
    BucketSort(v,n);

    for(i=0;i<n;i++)
        printf("%d ",v[i]);

    fclose(stdin);
    fclose(stdout);
    return 0;
}