class BucketSort {
public int[] bucketSort(int[] array) {
int[] bucket = new int[100]; // create an array the size of the largest value + 1
// for every value in array, increment its corresponding bucket
for (int i = 0; i < array.length; i++)
bucket[array[i]]++;
int outPos = 0;
for (int i = 0; i < bucket.length; i++) {
if (bucket[i] > 0)
array[outPos++] = i;
}
return array;
}
public static void main
(String args
[]){ BucketSort bSort = new BucketSort();
int[] array = { 77, 99, 44, 55, 22, 88, 11, 0, 66, 33 };
int[] sortedArray = bSort.bucketSort(array);
for (int i = 0; i < array.length; i++)
System.
out.
println(sortedArray
[i
]);
}
}
Y2xhc3MgQnVja2V0U29ydCB7CgogICAgcHVibGljIGludFtdIGJ1Y2tldFNvcnQoaW50W10gYXJyYXkpIHsKICAgICAgICBpbnRbXSBidWNrZXQgPSBuZXcgaW50WzEwMF07CQkJLy8gY3JlYXRlIGFuIGFycmF5IHRoZSBzaXplIG9mIHRoZSBsYXJnZXN0IHZhbHVlICsgMQoKICAgICAgICAvLyBmb3IgZXZlcnkgdmFsdWUgaW4gYXJyYXksIGluY3JlbWVudCBpdHMgY29ycmVzcG9uZGluZyBidWNrZXQKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKQogICAgICAgICAgICBidWNrZXRbYXJyYXlbaV1dKys7CgogICAgICAgIGludCBvdXRQb3MgPSAwOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYnVja2V0Lmxlbmd0aDsgaSsrKSB7IAogICAgICAgIAlpZiAoYnVja2V0W2ldID4gMCkKICAgICAgICAgICAgCWFycmF5W291dFBvcysrXSA9IGk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHJldHVybiBhcnJheTsKICAgIH0KICAgIAogICAgcHVibGljIHN0YXRpYyB2b2lkICBtYWluKFN0cmluZyBhcmdzW10pewogICAgCUJ1Y2tldFNvcnQgYlNvcnQgPSBuZXcgQnVja2V0U29ydCgpOwogICAgCWludFtdIGFycmF5ID0geyA3NywgOTksIDQ0LCA1NSwgMjIsIDg4LCAxMSwgMCwgNjYsIDMzIH07CiAgICAJaW50W10gc29ydGVkQXJyYXkgPSBiU29ydC5idWNrZXRTb3J0KGFycmF5KTsKICAgIAlmb3IgKGludCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKQogICAgICAgIAlTeXN0ZW0ub3V0LnByaW50bG4oc29ydGVkQXJyYXlbaV0pOwogICAgCQogICAgfQp9