易语言桶排序

桶排序示意图

元素分布在桶中:

511遇见

然后,元素在每个桶中排序:

511遇见

511遇见

易语言桶排序源码

.版本 2
 
.子程序 桶排序, , 公开, 排序正整数  注意: 最小不能为0,也不能为负数 // 真为从小到大,反之假
.参数 参数_原始, 整数型, 参考 数组
.参数 参数_顺序, 逻辑型, 可空
.局部变量 m, 整数型
.局部变量 n, 整数型, , "0"
.局部变量 a, 整数型
.局部变量 b, 整数型
 
.计次循环首 (取数组成员数 (参数_原始), a)  ' 
    .如果真 (m < 参数_原始 [a])
        m = 参数_原始 [a]
    .如果真结束
.计次循环尾 ()
重定义数组 (n, 假, m)  ' 
 
.计次循环首 (取数组成员数 (参数_原始), a)
    n [参数_原始 [a]] = n [参数_原始 [a]]1
.计次循环尾 ()
 
.如果真 (是否为空 (参数_顺序) = 真)
    参数_顺序 = 真
.如果真结束
.如果 (参数_顺序 = 真)
    .计次循环首 (取数组成员数 (n), a)
        .计次循环首 (n [a], )
            b = b + 1
            参数_原始 [b] = a
        .计次循环尾 ()
    .计次循环尾 ()
.否则
    b = 取数组成员数 (参数_原始)
    .计次循环首 (取数组成员数 (n), a)
        .计次循环首 (n [a], )
            参数_原始 [b] = a  ' 
            b = b - 1
        .计次循环尾 ()
    .计次循环尾 ()
.如果结束

发布日期:

所属分类: 易语言 标签: