1.1简介
1.2计数排序--最简单实现
protected void sort0() { // 找出最大值 int max = array[0]; for (int i = 1; i < array.length; i++) { if (array[i] > max) { max = array[i]; } } // O(n) // 开辟内存空间,存储每个整数出现的次数 int[] counts = new int[1 + max]; // 统计每个整数出现的次数 for (int i = 0; i < array.length; i++) { counts[array[i]]++; } // O(n) // 根据整数的出现次数,对整数进行排序 int index = 0; for (int i = 0; i < counts.length; i++) { while (counts[i]-- > 0) { array[index++] = i; } } // O(n) }