箱子排序

箱子排序是一种排序算法,通过建立连续有序的箱子并将对象按属性值放入相应箱子,最终得到有序序列。适合属性值跨度不大的场景。该算法时间复杂度为O(n),但可能需要额外空间。示例中展示了对特定序列的排序过程。
摘要由CSDN通过智能技术生成

     概述:先根据被排序对象的属性值的最小值到最大值建立并编号一连串连续有序的箱;然后遍历一遍需要被排序的对象序列,每遍历到一个对象都根据其属性值找到并装入对应编号的箱子直到遍历完毕,这样会使不同属性值的对象在不同序号的箱子中,而相同属性值的对象则在同一编号的箱子中;最后再遍历一遍箱子序列并删掉对象个数为0的空箱子,则剩余的箱子序列即为有序的对象序列。

    建议数据结构:如果有需要对于箱子序列最好使用链表类的容器,这样会更加容易删除对象个数为0的空箱子。

     示例:

    问题:对下面的序列进行排序:

        {7,11,12,3,4,9,77,2,33,4,7,10,88,101,78,13,34,25,58,8,9}

     示例实现代码及结果如下:

 该算法相当于是用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值