summaryrefslogtreecommitdiff
path: root/sonstiges/bucketSort.cpp
blob: 90533e1eee586948f91bbd50839ee035e42518aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
vector<int> res;
void bucketSort(vector<int> &a) { //stores result in global vector res
	int c[BUCKETS] = {0};
	for (int i = 0; i < (int)a.size(); i++) c[a[i]]++;
	int C = 0;
	for (int i = 0; i < BUCKETS; i++) {
		int tmp = C;
		C += c[i];
		c[i] = tmp;
	}
	res.resize(a.size());
	for (int i = 0; i < (int)a.size(); i++) {
		res[c[a[i]]] = a[i];
		c[a[i]]++;
	}
}