diff --git a/Java/Bucket Sort b/Java/Bucket Sort new file mode 100644 index 0000000..e18e9e9 --- /dev/null +++ b/Java/Bucket Sort @@ -0,0 +1,35 @@ +import java.util.Random; + +public class Bucket_Sort +{ + static int[] sort(int[] sequence, int maxValue) + { + // Bucket Sort + int[] Bucket = new int[maxValue + 1]; + int[] sorted_sequence = new int[sequence.length]; + + for (int i = 0; i < sequence.length; i++) + Bucket[sequence[i]]++; + + int outPos = 0; + for (int i = 0; i < Bucket.length; i++) + for (int j = 0; j < Bucket[i]; j++) + sorted_sequence[outPos++] = i; + + return sorted_sequence; + } + + static void printSequence(int[] sorted_sequence) + { + for (int i = 0; i < sorted_sequence.length; i++) + System.out.print(sorted_sequence[i] + " "); + } + + static int maxValue(int[] sequence) + { + int maxValue = 0; + for (int i = 0; i < sequence.length; i++) + if (sequence[i] > maxValue) + maxValue = sequence[i]; + return maxValue; + }