PS:我现在越来越认为排序大法是,很深的算法了,就是简单的几个步骤,网上的大佬们能给你玩出花来(ง •_•)ง
public class zimuzhenlie2 {
public static void main(String[] args) {
int [] num ={5,56,1,48,35,49,65,54,46,56,8,4,48};
//
//{2,5,1,6,4};
int max =-2147483648;
int min = 2147483647;
//取我数组的最大值和最小值
for (int i = 0; i < num.length; i++) {
max=max<num[i]?num[i]:max;
min=min>num[i]?num[i]:min;
}
//创建一个数组,我们使用差值作为下标,我们这样放进去的时候就算是一种排序的状态
int [] array = new int [max-min+1];
for (int i = 0; i < num.length; i++){
array[num[i]-min]++;
}
//按照下标取出来,即为从小到大
for (int i = 0; i < array.length; i++) {
for (int j = 0; j <array[i]; j++) {
System.out.print(i+min+" ");
}
}
}
}
Console:
1 4 5 8 35 46 48 48 49 54 56 56 65