PHP实现桶排序算法
简单意义上的桶排序:
桶排序的原理是先安排N+1个桶作为容器,若数据范围为N的话。
然后将测试数据(所需排序的数据)进行循环,放入对应的桶内。数据一定是在范围N内的。
最后,循环桶里的元素,并且输出,进行从大到小或从小到大的排序。
例如:
我们的取值范围是10,那么就要定义一个11长度的数组$arr.并且让所有的元素值都为0
然后,对需要排序的数组进行循环如5,3,5,2,8.(这边取值范围其实才8)
将数据依次对应$arr桶数组内元素,即如果是5,则使$arr[5]++.
这时候$arr[2]=1$arr[3]=1$arr[5]=2$arr[8]=1
然后循环$arr的数组,若$arr[2]=1,则循环输出元素2一次,$arr[5]=2,则循环输出5两次
结果输出即为23558
如果循环数值是从大到小则会是从大到小的排序
"; } } ?>
缺点:
浪费空间.
无法进行浮点数据的排序.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。