Skip to content

Instantly share code, notes, and snippets.

@darhonbek
Created October 24, 2017 01:37
Show Gist options
  • Save darhonbek/162b3ff0aaf6b22a3940dbcb84407997 to your computer and use it in GitHub Desktop.
Save darhonbek/162b3ff0aaf6b22a3940dbcb84407997 to your computer and use it in GitHub Desktop.
BucketSort
#include <iostream>
using namespace std;
void print(int *arr, int n) {
for(register int i=0; i<n; i++) {
cout<<arr[i]<<" ";
}
}
void bucketSort(int *arr, int n) {
int bucketSize = 0;
for(register int i=0; i<n; i++) {
if (arr[i] > bucketSize) {
bucketSize = arr[i];
}
}
bucketSize++;
int arr2[bucketSize];
for(register int i=0; i<bucketSize; i++) {
arr2[i] = 0;
}
for(register int i=0; i<n; i++) {
arr2[arr[i]]++;
}
int i=0, j=0;
while(i < n) {
while(arr2[j] > 0) {
arr[i] = j;
arr2[j]--;
i++;
}
j++;
}
print(arr, n);
}
int main() {
int arr[] = {5, 6, 0, 13, 3, 2, 8, 7, 4};
int n = 9;
bucketSort(arr, n);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment