import java.math.* ;
import java.util.* ;
/**
*
*/
public class Test extends Base{
public static void main(String[] args) throws Exception{
int[] arr = getRandomArr() ;
println(arr);
pigeonholeSort(arr , arr.length );
println(arr);
println();
}
public static void pigeonholeSort(int[] arr, int n ){
int maxValue = arr[0] ;
for (int i = 1; i < n ; i++){
if(arr[i] > maxValue) maxValue = arr[i] ;
}
int[] temp = new int[maxValue+1] ;
for (int i = 0 ; i < n ; i++){
temp[arr[i]] += 1;
}
int x = 0 ;
for (int i = 0; i <= maxValue ; i++){
for (int j = 0 ; j < temp[i] ; j++ ){
arr[x++] = i ;
}
}
}
}
鴿巢排序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.