1. WAOYOU首页
  2. 编程
  3. 易语言

易语言自定义数据类型数组的快速排序方法

在实际应用过程中,需要对自定义类型的数组成员进行排序,使用自带的数组排序并不能达到效果,今天就来介绍一种可以对自定义数据类型的数组进行快速排序的方法。

注意事项:满足自定义数据类型的数组排序,需要指定你的自定义数据类型某个成员为整数型,在排序时将以这个整数型的成员为判断排序的依据


.版本 2

.数据类型 自定义类型
    .成员 句柄, 整数型
    .成员 序号, 整数型, , , 判断排序的依据
    .成员 名称, 文本型

易语言自定义数据类型数组的快速排序方法

1、首先按顺序填充你的自定义类型的数组,实际应用过程中,可以按照你的实际情况来填充即可


.版本 2

.子程序 填充初始数据
.局部变量 i, 整数型
.局部变量 临时, 自定义类型

.计次循环首 (10, i)
    临时.句柄 = 1000 + i
    临时.序号 = i
    临时.名称 = “名称_” + 到文本 (i)
    加入成员 (集_数组, 临时)
.计次循环尾 ()

易语言自定义数据类型数组的快速排序方法

2、对按顺序填充的自定义数据类型数组数据进行打乱操作,实际应用中不需要打乱操作,这里只是为了方便演示,来手动进行打乱


.版本 2

.子程序 打乱初始数据顺序
.局部变量 i, 整数型

重定义数组 (集_结果, 假, 0)
.计次循环首 (取数组成员数 (集_数组), i)
    加入成员 (集_结果, 随机排序自定义 ())
.计次循环尾 ()

易语言自定义数据类型数组的快速排序方法

3、采用插入排序的方式对打乱顺序的自定义数据类型数组,按照成员序列进行插入排序


.版本 2
.支持库 spec

.子程序 插入排序自定义
.参数 数组, 自定义类型, 可空 数组
.局部变量 i, 整数型
.局部变量 temp, 整数型
.局部变量 po, 整数型
.局部变量 k, 整数型
.局部变量 start, 整数型
.局部变量 end, 整数型
.局部变量 temp_data, 自定义类型

start = 取启动时间 ()
.计次循环首 (取数组成员数 (数组) - 1, i)
    temp = 数组 [i].序号
    temp_data = 数组 [i]
    po = i
    .变量循环首 (i + 1, 取数组成员数 (数组), 1, k)
        .如果真 (数组 [k].序号 < temp)
            temp = 数组 [k].序号
            temp_data = 数组 [k]
            po = k
        .如果真结束

    .变量循环尾 ()
    数组 [po] = 数组 [i]
    数组 [i] = temp_data
.计次循环尾 ()
end = 取启动时间 ()
调试输出 (end - start)

易语言自定义数据类型数组的快速排序方法

如需帮助请联系客服

原创文章,作者:神经蛙,如若转载,请注明出处:https://www.waoyou.com/778.html

联系我们

在线咨询:点击这里给我发消息

电话:17638350532

工作时间:周一至周五,9:30-18:30,节假日休息

QR code