一个数组中有65535个数不重复的大于0的整数(即:0~~65535内所有不重复的整数,数序是杂乱无章的), 用最快的方式排序

备注:如果这个问题你考虑到用元素对比就大错特错了

当然这个算法还不是最优的,不能代表普遍性。但可以引申,总体还是这个思路,无非就是“填空”操作

 

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;
    }

}

 

posted @ 2015-02-02 16:03  justin.wang  阅读(347)  评论(0编辑  收藏  举报