易语言选择排序

算法步骤

1、首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。
2、再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
3、重复第二步,直到所有元素均排序完毕。

511遇见

选择排序演示

.版本 2
.支持库 spec
.局部变量 A, 整数型, , "10"
.局部变量 I, 整数型
.局部变量 K, 整数型
.局部变量 Temp, 整数型
.局部变量 Pos, 整数型
 
A = { 68, 43, 31, 15, 67, 99, 76, 43, 19, 26 }
.计次循环首 (9, I)
    Temp = A [I]  ' 设置当前成员为最小值
    Pos = I  ' 记录成员位置
    .变量循环首 (I + 1, 10, 1, K)
        .如果真 (A [K] < Temp)  ' 如果当前成员比最小值还小
            Temp = A [K]  ' 重新设置最小值
            Pos = K  ' 记录成员位置
        .如果真结束
    .变量循环尾 ()
    ' 交换两个成员的值
    A [Pos] = A [I]
    A [I] = Temp
.计次循环尾 ()
调试输出 (A)

选择排序模块

.版本 2
 
.子程序 选择排序
.参数 参数组, 整数型, 数组
.局部变量 数量, 整数型
.局部变量 临时, 整数型
.局部变量 位置变量, 整数型
.局部变量 未比变量, 整数型
.局部变量 放置变量, 整数型
 
数量 = 取数组成员数 (参数组)
.如果真 (数量 ≤ 0)
    返回 ()
.如果真结束
.变量循环首 (1, 数量 - 1, 1, 位置变量)
    放置变量 = 位置变量
    .变量循环首 (位置变量 + 1, 数量, 1, 未比变量)
        .如果真 (参数组 [放置变量] > 参数组 [未比变量])  ' // 寻找最大的数
            放置变量 = 未比变量
        .如果真结束
 
    .变量循环尾 ()
    临时 = 参数组 [放置变量]
    参数组 [放置变量] = 参数组 [位置变量]
    参数组 [位置变量] = 临时
.变量循环尾 ()

发布日期:

所属分类: 易语言 标签: