一介白书生 发表于 2013-10-28 18:45:03

求大神们帮我看看这个代码是如何实现排序的

package grammar;

import java.util.BitSet;
import java.util.Random;

public class LearnGrammar {
      public static void main(String[] args){
             
           int[] a = new int;
            init(a);
            disp(a);
         System.out.println();
         sort(a);
      }

                private static void sort(int[] a) {
                        // TODO Auto-generated method stub
                        BitSet bs = new BitSet(100);
                for (int i = 0; i < 80; i++) {
                                bs.set(a,true);
                        }
                for (int i = 0; i < bs.length(); i++) {
                                if(bs.get(i))
                                        System.out.printf("%d ", i);
                        }
        }   
                private static void disp(int[] a) {
                        // TODO Auto-generated method stub
                        for (int i = 0; i < 80; i++) {
                                System.out.printf("%d ", a);
                        }
                }
                private static void init(int[] a) {
                        // TODO Auto-generated method stub
                       for(int i = 0;i < a.length; i++){
                            a = i + 1;
                    }
                       Random random = new Random();
                       for (int i = 0; i < 80; i++) {
                                int index = random.nextInt(100 - i) + i;
                                swap(a,index,i);
                        }
                }

                private static void swap(int[] a, int index, int i) {
                        // TODO Auto-generated method stub
                       int temp = a;
                       a = a;
                       a = temp;
                }
}


24_jason 发表于 2013-10-28 18:45:04

这一句就会进行排序。
bs.set(a,true);
其实这一句还可以直接简写成bs.set(a);

具体的你查一下官方的文档吧。

一介白书生 发表于 2013-10-29 20:02:10

24_jason 发表于 2013-10-29 18:02 static/image/common/back.gif
这一句就会进行排序。
bs.set(a,true);
其实这一句还可以直接简写成bs.set(a);


看了哈 还是有点模糊

zlj19931010 发表于 2016-12-23 17:03:57

挖坟,这个只适用于 纯数字的排序
如图所示
页: [1]
查看完整版本: 求大神们帮我看看这个代码是如何实现排序的