summaryrefslogtreecommitdiff
path: root/sonstiges/bucketSort.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sonstiges/bucketSort.cpp')
-rw-r--r--sonstiges/bucketSort.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/sonstiges/bucketSort.cpp b/sonstiges/bucketSort.cpp
new file mode 100644
index 0000000..90533e1
--- /dev/null
+++ b/sonstiges/bucketSort.cpp
@@ -0,0 +1,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]]++;
+ }
+} \ No newline at end of file