public class OrderLink {
/**
* 州伟
* 一个数组中有65535个数不重复的大于0的整数(即:0~~65535内所有不重复的整数,数序是杂乱无章的),
* 用最快的方式排序
* @param args
*/
public static void main(String[] args) {
//例如:一个数组中有65535个数不重复的大于0的整数
int[] prel = new int[]{2,4,9,5,3,6,7,8,11,1,12,0,10};
int[] endl = oderBysel(prel);
for(int i:endl){
System.out.print(i + " < ");
}
}
//排序方法
private static int[] oderBysel(int[] in){
int[] inl = new int[in.length];
for(int i=0;i<in.length;i++){
inl[(int)in[i]] = in[i];
}
return inl;
}
}
备注:如果这个问题你考虑到用元素对比就大错特错了
当然这个算法还不是最优的,不能代表普遍性。但可以引申,总体还是这个思路,无非就是“填空”操作