package chapter6_sort;
public class countingSort {
public static void main(String[] args) {
int[] arr = new int[5];
int[] b = new int[5];
for (int i = 0; i < 5; i++) {
arr[i] = (int) (Math.random() * 100 + 1);
}
countingSortFunction(arr, b, 100);
for (int i = 0; i < b.length; i++) {
System.out.println(b[i]);
}
}
private static void countingSortFunction(int[] arr, int[] b, int k) {
int[] c = new int[k];
for (int i = 0; i < c.length; i++) {
c[i] = 0;
}
for (int j = 0; j < arr.length; j++) {
c[arr[j]] += 1;
}
for (int i = 1; i < c.length; i++) {
c[i] = c[i] + c[i - 1];
}
for (int i = arr.length - 1; i >= 0; i--) {
b[c[arr[i]] - 1] = arr[i];
c[arr[i]] -= 1;
}
}
}
算法导论第八章(计数排序)
最新推荐文章于 2023-08-06 16:53:38 发布