看到这个排序,作者说是简易的,就当简易的看吧:
嗯,一组数字进行排序,先初始化长度为,数组长度中最大元素的数字+1,比如1、2、3、4、5,就是要初始化0、1、2、3、4、5号桶,然后遍历数组,把数组中的元素如果出现过,就把我们初始化的数组所在ID的value设置为+1。最后,一个遍历就很清楚了,
看看图:
简单实现代码:
public static void main(String[] args) { int[] arrayNum={3,5,1,8,9,10,45,23,3}; getNum(arrayNum); } public static void getNum(int[] ay){ int[] myLength=new int[47]; for(int i=0;i<myLength.length;i++){ for(int j=0;j<ay.length;j++){ if(i==ay[j]){ myLength[i]+=1; } } } for(int g=0;g<myLength.length;g++){ System.out.println(g+"<><><>"+myLength[g]); } }
缺点就是,如果要排序的数组中的数字过大,那么要初始化的数组长度将会很大的...
嗯,请看下节:冒泡