package AlgorithmTest;
/**
* Created by dell on 2015/10/5.
*/
public class MostQuickSortHashSortTest {
public static void main(String[] args) {
int[] array = {6,7,8,9,8,99,8,5,6};//为0-100的数排序
HashSort.HashMethodSort(array);
for (int i : array){
System.out.println(i);
}
}
}
class HashSort{
public static void HashMethodSort(int[] array){
int max = Integer.MIN_VALUE;
for (int element : array){
if (element > max){
max = element;
}
}
int[] hashArray = new int[max + 1];
for (int i = 0; i < hashArray.length; ++i){
hashArray[i] = 0;
}
for (int element : array){
++hashArray[element];
}
int index = 0;
for (int i = 0; i < hashArray.length; ++i){
for (int j = 0; j < hashArray[i]; ++j){
array[index++] = i;
}
}
}
}
时间复杂度最低的排序算法,为O(n),但是需要O(n)的空间复杂度。用哈希的思想来做的。package AlgorithmTest;/** * Created by dell on 2015/10/5. */public class MostQuickSortHashSortTest { public static void main(String[] args) {