比較しないソートの作成
Posted feedbacks - Java
counting sortを実装しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import java.util.Arrays;
public class Sample187 {
public static int[] countingSort(int min, int max, int[] data) {
int[] counter = new int[max - min + 1];
for (int i: data) {
counter[i - min]++;
}
int[] result = new int[data.length];
int index = 0;
for (int i = 0; i < counter.length; i++) {
for (int count = 0; count < counter[i]; count++) {
result[index++] = i + min;
}
}
return result;
}
public static void main(String[] args) {
int[] sort = countingSort(-1, 10, new int[] {-1, 9, 4, 8, 9, 6, 3, 9, 5, 2});
System.out.println(Arrays.toString(sort));
}
}
|


sweetie089 #6628() Rating3/3=1.00
[ reply ]