鸽巢排序

来源:互联网 发布:列兵布利特升级数据 编辑:程序博客网 时间:2024/05/06 04:41
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 ;}}}}

0 0
原创粉丝点击