Cod sursa(job #2944038)

Utilizator TheEpicWipedCreaVlad Chirita Alexandru TheEpicWipedCrea Data 21 noiembrie 2022 22:56:35
Problema Sortare prin comparare Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
//Bucket Sort

#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>

using namespace std;
ifstream in  ("algsort.in");
ofstream out("algsort.out");

#define NoBuckets 5000
#define maxN 500000
#define BucketCap 100

vector <int> bucket[NoBuckets];
int v[maxN+1],n;

void GetBuckets(){
    for(int i=1;i<=n;i++){
        bucket[v[i]/BucketCap].push_back(v[i]);
    }
}

void BucketSort(vector <int> ceva){
    sort(ceva.begin(),ceva.end());
    for(auto x : ceva){
        out<<x<<" ";
    }
}

int main(){
    in>>n;
    for(int i=1;i<=n;i++){
        in>>v[i];
    }
    GetBuckets();
    for(int i=0;i<NoBuckets;i++){
        BucketSort(bucket[i]);
    }
}