|
发表于 2024-7-5 04:33:47
|
显示全部楼层
福建省泉州市
|
文本_分割文本排序_快速 | 文本型 | | |
要排序的文本 | 文本型 | | | | 行分隔符 | 文本型 | | | | 列分隔符 | 文本型 | | | | 排序的列 | 整数型 | | | | 数据类型 | 整数型 | | | | 排序方向正向 | 逻辑型 | | | | 返回数组 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 排序数组 | 自定义排序数组 | | 0 | 文本数组 | 文本型 | | 0 | 文本数组2 | 文本型 | | 0 | i | 整数型 | | | 结果 | 文本型 | | | 排序变量 | 自定义排序数组 | | 0 | 数据成员数量 | 整数型 | | | 插入位置 | 整数型 | | | 当前数据 | 自定义排序数组 | | | 当前分区成员数 | 整数型 | | | 当前位置 | 整数型 | | | 中间位置 | 整数型 | | | 中间数据 | 自定义排序数组 | | | 如果真 (要排序的文本 = “”) 返回 (“”) 如果真 (是否为空 (行分隔符 )) ![](source/plugin/code_color/image/code1/03.png) 行分隔符 = #换行符 如果真 (是否为空 (列分隔符 )) ![](source/plugin/code_color/image/code1/03.png) 列分隔符 = “|” 如果真 (是否为空 (排序的列 )) ![](source/plugin/code_color/image/code1/03.png) 排序的列 = 1 如果真 (是否为空 (数据类型 )) ![](source/plugin/code_color/image/code1/03.png) 数据类型 = 1 如果真 (是否为空 (排序方向正向 )) ![](source/plugin/code_color/image/code1/03.png) 排序方向正向 = 真 ![](source/plugin/code_color/image/code1/01.png) 文本数组 = 分割文本 (要排序的文本, 行分隔符, ) 计次循环首 (取数组成员数 (文本数组 ), i )![](source/plugin/code_color/image/code1/03.png) 文本数组2 = 分割文本 (文本数组 [i ], 列分隔符, )![](source/plugin/code_color/image/code1/03.png) 如果真 (排序的列 < 1 或 排序的列 > 取数组成员数 (文本数组2 )) ![](source/plugin/code_color/image/code1/03.png) 返回 (“”)![](source/plugin/code_color/image/code1/03.png) 判断 (数据类型 = 2 ) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/08.png) 当前数据.整数 = 到整数 (文本数组2 [排序的列 ])![](source/plugin/code_color/image/code1/03.png) 判断 (数据类型 = 3 ) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/05.png) 当前数据.小数 = 到小数 (文本数组2 [排序的列 ])![](source/plugin/code_color/image/code1/03.png) 判断 (数据类型 = 4 ) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/16.png) 当前数据.日期时间 = 到时间 (文本数组2 [排序的列 ])![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/09.png) 当前数据.文本 = 文本数组2 [排序的列 ] ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/04.png) 数据类型 = 1 当前数据.原数据 = 文本数组 [i] 加入成员 (排序数组, 当前数据 ) 计次循环尾 ()数据成员数量 = 取数组成员数 (排序数组 ) 计次循环首 (数据成员数量, i )![](source/plugin/code_color/image/code1/03.png) 当前位置 = 1 ![](source/plugin/code_color/image/code1/03.png) 当前分区成员数 = 取数组成员数 (排序变量 )![](source/plugin/code_color/image/code1/03.png) 当前数据 = 排序数组 [i ]![](source/plugin/code_color/image/code1/03.png) 判断 (i = 1 )![](source/plugin/code_color/image/code1/03.png) 插入成员 (排序变量, 1, 当前数据 )![](source/plugin/code_color/image/code1/03.png) 到循环尾 ()![](source/plugin/code_color/image/code1/03.png) 判断 (数据类型 = 1 且 文本比较 (当前数据.文本, 排序变量 [当前分区成员数 ].文本, 真) ≥ 0 或 数据类型 = 2 且 当前数据.整数 ≥ 排序变量 [当前分区成员数 ].整数 或 数据类型 = 3 且 当前数据.小数 ≥ 排序变量 [当前分区成员数 ].小数 或 数据类型 = 4 且 当前数据.日期时间 > 排序变量 [当前分区成员数 ].日期时间 )![](source/plugin/code_color/image/code1/03.png) 插入成员 (排序变量, 当前分区成员数 + 1, 当前数据 )![](source/plugin/code_color/image/code1/03.png) 到循环尾 ()![](source/plugin/code_color/image/code1/03.png) 判断 (数据类型 = 1 且 文本比较 (当前数据.文本, 排序变量 [1 ].文本, 真) ≤ 0 或 数据类型 = 2 且 当前数据.整数 ≤ 排序变量 [1 ].整数 或 数据类型 = 3 且 当前数据.小数 ≤ 排序变量 [1 ].小数 或 数据类型 = 4 且 当前数据.日期时间 ≤ 排序变量 [1 ].日期时间 )![](source/plugin/code_color/image/code1/03.png) 插入成员 (排序变量, 1, 当前数据 )![](source/plugin/code_color/image/code1/03.png) 到循环尾 ()![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/09.png) ![](source/plugin/code_color/image/code1/04.png) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/02.png) ![](source/plugin/code_color/image/code1/03.png) 判断循环首 (当前位置 < 当前分区成员数 - 1 )![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) 中间位置 = (当前位置 + 当前分区成员数 ) \ 2 ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) 中间数据 = 排序变量 [中间位置 ]![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) 如果真 (数据类型 = 1 且 当前数据.文本 = 中间数据.文本 或 数据类型 = 2 且 当前数据.整数 = 中间数据.整数 或 数据类型 = 3 且 当前数据.小数 = 中间数据.小数 或 数据类型 = 4 且 当前数据.日期时间 = 中间数据.日期时间 )![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) 当前位置 = 中间位置 ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) 跳出循环 ()![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/01.png) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) 如果 (数据类型 = 1 且 当前数据.文本 < 中间数据.文本 或 数据类型 = 2 且 当前数据.整数 < 中间数据.整数 或 数据类型 = 3 且 当前数据.小数 < 中间数据.小数 或 数据类型 = 4 且 当前数据.日期时间 < 中间数据.日期时间 )![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/08.png) 当前分区成员数 = 中间位置 ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/09.png) 当前位置 = 中间位置 ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/02.png) ![](source/plugin/code_color/image/code1/03.png) 判断循环尾 ()![](source/plugin/code_color/image/code1/03.png) 插入位置 = 当前位置 + 1 插入成员 (排序变量, 插入位置, 当前数据 ) 计次循环尾 () 如果真 (是否为空 (返回数组 ) = 假) 重定义数组 (返回数组, 假, 0 ) 如果 (排序方向正向 )![](source/plugin/code_color/image/code1/03.png) 计次循环首 (取数组成员数 (排序变量 ), i )![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) 结果 = 结果 + 排序变量 [i ].原数据 + 选择 (取数组成员数 (排序数组 ) = i, “”, 行分隔符 )![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) 如果真 (是否为空 (返回数组 ) = 假)![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) 加入成员 (返回数组, 排序变量 [i ].原数据 )![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/01.png) ![](source/plugin/code_color/image/code1/26.png) 计次循环尾 ()![](source/plugin/code_color/image/code1/09.png) ![](source/plugin/code_color/image/code1/04.png) 计次循环首 (取数组成员数 (排序变量 ), i )![](source/plugin/code_color/image/code1/03.png) 结果 = 结果 + 排序变量 [数据成员数量 - i + 1 ].原数据 + 选择 (取数组成员数 (排序数组 ) = i, “”, 行分隔符 )![](source/plugin/code_color/image/code1/03.png) 如果真 (是否为空 (返回数组 ) = 假)![](source/plugin/code_color/image/code1/03.png) 加入成员 (返回数组, 排序变量 [i ].原数据 )![](source/plugin/code_color/image/code1/03.png) ![](source/plugin/code_color/image/code1/01.png) 计次循环尾 () 返回 (结果 )
源码里看不出来什么原因导致的
测试证实bug存在
需要再逐步检查才能确定位置
|
|