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 ;
}
}
}
}
鸽巢排序
最新推荐文章于 2021-10-20 20:38:52 发布