美文网首页
Java - 位图算法

Java - 位图算法

作者: kikiki5 | 来源:发表于2019-07-12 16:37 被阅读0次

这里使用java来实现一个位图算法

例子

@Test
    public void testBitMap(){
        int N = 1024;//位图存储的最大数字
        int map[] = new int[N/32];
        System.out.println(checkBit(map,1));
        setBit(map,1);
        setBit(map,10);
        setBit(map,4);
        System.out.println(checkBit(map,1));
        sortBitArray(map);
    }

    private boolean checkBit(int[] arr,int val){
        return (arr[val/32] & (1<<val%32))!=0;
    }
    private void setBit(int[] arr,int val){
        arr[val/32] |= 1<<val%32;
    }
    public void sortBitArray(int[] bitArray) {
        int count = 0;
        for (int i = 0; i < 1024; i++) {
            if (checkBit(bitArray, i)) {
                System.out.print(count + "\t");
            }
            count++;
        }
    }

运行测试结果

false
true
1   4   10

相关文章

网友评论

      本文标题:Java - 位图算法

      本文链接:https://www.haomeiwen.com/subject/qpdykctx.html