易语言时间数组排序模块

易语言 2020-08-23 16:32:42

易语言时间数组排序模块

.子程序 时间数组排序, , 公开, 对指定时间单维(多维)数组变量内的所有数组成员进行快速排序,排序结果存放回该数组变量,如果数组是多维数组变量,将变为单维数组。
.参数 时间数组变量, 日期时间型, 数组
.参数 排序方向, 逻辑型, 可空, 注明:如果参数值为假,排序方向为早→晚,否则为晚→早。如果本参数被省略,默认值为假。
.局部变量 临时时间数组, 日期时间型, , "0"
.局部变量 计次, 整数型
.局部变量 计次2, 整数型

重定义数组 (时间数组变量, 真, 取数组成员数 (时间数组变量))
.计次循环首 (取数组成员数 (时间数组变量), 计次)
.如果真 (取数组成员数 (临时时间数组) = 0)
加入成员 (临时时间数组, 时间数组变量 [计次])
到循环尾 ()
.如果真结束
.如果真 (排序方向 = 假)
.计次循环首 (取数组成员数 (临时时间数组), 计次2)
.如果真 (时间数组变量 [计次] ≤ 临时时间数组 [计次2])
跳出循环 ()
.如果真结束

.计次循环尾 ()
插入成员 (临时时间数组, 计次2, 时间数组变量 [计次])
到循环尾 ()
.如果真结束
.计次循环首 (取数组成员数 (临时时间数组), 计次2)
.如果真 (时间数组变量 [计次] ≥ 临时时间数组 [计次2])
跳出循环 ()
.如果真结束

.计次循环尾 ()
插入成员 (临时时间数组, 计次2, 时间数组变量 [计次])
.计次循环尾 ()
复制数组 (时间数组变量, 临时时间数组)