工作的原理是将阵列分到有限数量的桶里。每个桶再个别排序（有可能再使用别的排序演算法或是以递回方式继续使用桶排序进行排序）。桶排序是鸽巢排序的一种归纳结果。当要被排序的阵列内的数值是均匀分配的时候，桶排序使用线性时间（formula_1）。但桶排序并不是比较排序，他不受到formula_2下限的影响。桶排序以下列程序进行：
伪代码. function bucket-sort(array, n) is
C++实现算法.假设数据分布在[0，100)之间，每个