桶排序是最简单的一种排序算法。
举个栗子!
现在有如下一组数字
[1,3,6,3,2,9,0]
请将上面的数字从小到大排序。
如果使用桶排序的话步骤是这样的。
1:取数组中的最大值。这里是9
2:新建一个数组,长度为9+1.元素里都存0.
就像这样 [0,0,0,0,0,0,0,0,0,0] 这个时候这个数组的索引最大刚好与给定数组的最大值相同。
3:遍历给定的数组,当1出现时,给结果数组中索引为1的位置+1,3出现时。给数组中索引为3的位置+1,其余都一样。
这样最后得出的结果数组就会是 [0,1,1,1,0,0,1,0,0,1] 数组的索引代表原数据的值,索引对应的值为该数据出现的次数。
4:这样子数据就有序了,而且效率极高。但是也浪费空间,因为数组的长度取决于原数据中的最大值+1!