Pagini recente » Cod sursa (job #3041652) | Cod sursa (job #2946957) | Cod sursa (job #3130912) | Cod sursa (job #1995794) | Cod sursa (job #2944038)
//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]);
}
}