易语言改进冒泡排序法

易语言冒泡排序

生成无序随机数按钮

产生30个随机数

.版本 2
 
.子程序 _刷新图形按钮_被单击
.局部变量 变量, 整数型
.局部变量 数据, 整数型
 
未排序列表框.清空 ()
结果列表框.清空 ()
清除数组 (数据数组)
.计次循环首 (30, 变量)  ' 随机生成30个无序数
    置随机数种子 ()
    数据 = 取随机数 (0, 1000) - 500
    未排序列表框.加入项目 (到文本 (数据), )
    加入成员 (数据数组, 数据)
.计次循环尾 ()

排序按钮

.版本 2
 
.子程序 _计算图形按钮_被单击
.局部变量 未比数据数量, 整数型
.局部变量 交换变量, 整数型
.局部变量 位置变量, 整数型
.局部变量 最后位置, 整数型
 
.计次循环首 (结果列表框.取项目数 (), )
    结果列表框.删除项目 (0)
.计次循环尾 ()
未比数据数量 = 未排序列表框.取项目数 ()  ' 第一行排序比较所有数
.判断循环首 (未比数据数量 > 0)
    最后位置 = 0
    .变量循环首 (1, 未比数据数量 - 1, 1, 位置变量)
        .如果真 (数据数组 [位置变量] > 数据数组 [位置变量 + 1])  ' 前一个数大于后一个数,就将两数的位置交换
            交换变量 = 数据数组 [位置变量]  ' 数据组可以是变量、文件、数据库(这里用的是变量)
            数据数组 [位置变量] = 数据数组 [位置变量 + 1]
            数据数组 [位置变量 + 1] = 交换变量  ' 以上3行代码是交换用的
            最后位置 = 位置变量
        .如果真结束
 
    .变量循环尾 ()
    未比数据数量 = 最后位置  ' 下一行排序从第一个数开始到上次排序的最后被改变的位数
.判断循环尾 ()
.计次循环首 (30, 位置变量)  ' 输出排序结果
    结果列表框.加入项目 (到文本 (数据数组 [位置变量]), )
.计次循环尾 ()

发布日期:

所属分类: 易语言 标签: