使用类图实现的另类排序

在很多情况下情况下,我们需要对我们的数据进行排序,有非常多的排序算法比如冒泡排序、快速排序等。但是如果是对于整形数的排序,个人觉得用java中的BitSet结果就非常的方便快捷。

BitSet是用来存取位的,如果数据是整数,利用BitSet把需要排序的相应位设置为1,比如待排序中有一个数为6,则利用BitSet中提供的set方法,把其设置为true,bits.set(6, true),其中bits是BitSet变量。到时候取结果的时候只要把相应的位为BitSet变量输出来就可以了。

在《编程珠玑》的书中也有讨论到,对于一些大量的整形数据,书中谈论到是对于电话号码的排序中有利用到数据结构中的位图结构,当然前提是对于整形数据的排序。

比如:

程序1:

public static void main(String[] args) {

int []nums = {6,9,8,7,56,9,8,7,1,2,3,500};//待排序数组
BitSet bits = new BitSet(4);
for (int i = 0; i < nums.length; i++) {
bits.set(nums[i], true);//把相应的位设置为true
}
System.out.println(bits);//输出BitSet变量
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值