import java.util.Arrays;
import java.util.Random;
// 计数排序
public class CountSort {
public static void main(String[] args) {
Random random = new Random();
int[] arr = new int[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = random.nextInt(10);
}
System.out.print("数组:");
System.out.println(Arrays.toString(arr));
int[] result = counTSort(arr,10);
System.out.println(Arrays.toString(result));
}
static int[] counTSort(int[] arr,int max){
int[] result = new int[arr.length];
int[] counts = new int[max];
for (int i : arr) {
counts[arr[i]]++;
}
for (int i = 1; i < counts.length; i++) {
counts[i] = counts[i] + counts[i-1];
}
for (int i : arr) {
result[--counts[arr[i]]] = arr[i];
}
return result;
}
}
写给自己看的



