|

使用了N多代码简单的实现了文本中有数字时,数字排序不准确的情况, 使得 2会排序在10前边.
从精易模块中的数组排序改编的,只是加入了文本分割功能和整数比较.目测效率不高.以后看有没有能力改进了.
变量名 | 类 型 | 静态 | 数组 | 备 注 | 偏移 | 整数型 | | | 指针 | 整数型 | | | 文本 | 文本型 | | | 重定义数组 (参_文本数组, 假, 0 )指针 = 1 判断循环首 (指针 ≤ 取文本长度 (参_文本 ))  文本 = “” 如果真 (取代码 (参_文本, 指针 ) < 0 ) 加入成员 (参_文本数组, 取文本中间 (参_文本, 指针, 2 ))   指针 = 指针 + 2  到循环尾 ()   判断循环首 (取代码 (参_文本, 指针 ) > 47 且 取代码 (参_文本, 指针 ) < 58 )  文本 = 文本 + 取文本中间 (参_文本, 指针, 1 )  指针 = 指针 + 1  判断循环尾 () 如果真 (文本 ≠ “”) 加入成员 (参_文本数组, 文本 ) 到循环尾 () 加入成员 (参_文本数组, 取文本中间 (参_文本, 指针, 1)) 指针 = 指针 + 1 判断循环尾 ()|
数组_排序_多列 | | | |
要排序的数组 | 文本型 | | | | 排序方式 | 字节型 | | | | 区分大小写 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | N | 整数型 | | | 排序数组 | 文本型 | | 0 | 成员数量 | 整数型 | | | 高位 | 整数型 | | | 低位 | 整数型 | | | 中间位 | 整数型 | | | 比较结果 | 整数型 | | | 复制数组 (排序数组, 要排序的数组 )清除数组 (要排序的数组 ) 如果真 (是否为空 (区分大小写 ) = 真) 区分大小写 = 真  计次循环首 (取数组成员数 (排序数组 ), N ) 判断 (成员数量 = 0 ) 插入成员 (要排序的数组, 1, 排序数组 [N ])     高位 = 成员数量   低位 = 1   中间位 = (高位 + 低位 ) \ 2    判断 (区分大小写 = 假)   比较结果 = 多列比较 (到大写 (排序数组 [N ]), 到大写 (要排序的数组 [成员数量 ]), 真)    比较结果 = 多列比较 (排序数组 [N ], 要排序的数组 [成员数量 ], 真)  判断 (比较结果 ≥ 0 ) 插入成员 (要排序的数组, 成员数量 + 1, 排序数组 [N ])  判断 (多列比较 (排序数组 [N ], 要排序的数组 [1 ], 真) ≤ 0 ) 插入成员 (要排序的数组, 1, 排序数组 [N ])   判断循环首 (高位 - 低位 > 1 )  如果真 (排序数组 [N ] = 要排序的数组 [中间位 ])  跳出循环 ()  如果 (多列比较 (排序数组 [N ], 要排序的数组 [中间位 ], 真) < 0 )   高位 = 中间位    低位 = 中间位  中间位 = (高位 + 低位) \ 2  判断循环尾 ()  判断 (多列比较 (排序数组 [N ], 要排序的数组 [中间位 ], 真) ≤ 0 )  插入成员 (要排序的数组, 中间位, 排序数组 [N ])  插入成员 (要排序的数组, 中间位 + 1, 排序数组 [N ])        成员数量 = 取数组成员数 (要排序的数组) 计次循环尾 () 如果真 (排序方式 = 1 ) 数组_反转 (要排序的数组 ) |
多列比较 | 整数型 | | |
参_文本1 | 文本型 | | | | 参_文本2 | 文本型 | | | | 区别大小写 | 逻辑型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 比较数组1 | 文本型 | | 0 | 比较数组2 | 文本型 | | 0 | 计数器 | 整数型 | | | 返回值 | 整数型 | | | 整数1 | 整数型 | | | 整数2 | 整数型 | | |
如果真 (文本比较 (参_文本1, 参_文本2, 区别大小写 ) = 0 ) 返回 (0 )文本数字分割_ (参_文本1, 比较数组1)文本数字分割_ (参_文本2, 比较数组2 ) 计次循环首 (取数组成员数 (比较数组1 ), 计数器 ) 如果真 (计数器 > 取数组成员数 (比较数组2 ))  返回 (1 ) 整数1 = 到整数 (比较数组1 [计数器]) 整数2 = 到整数 (比较数组2 [计数器 ]) 如果 (整数1 ≠ 0 且 整数2 ≠ 0 )  如果 (整数1 < 整数2 )   返回值 = -1    返回值 = 1      返回值 = 文本比较 (比较数组1 [计数器 ], 比较数组2 [计数器 ], 区别大小写 )   如果真 (返回值 = 0 ) 到循环尾 () 返回 (返回值) 计次循环尾 ()返回 (-1 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 成员数量 | 整数型 | | | 折中数量 | 整数型 | | | 临时成员 | 文本型 | | | N | 整数型 | | |
成员数量 = 取数组成员数 (反转的数组 )折中数量 = 成员数量 ÷ 2 计次循环首 (折中数量, N ) 临时成员 = 反转的数组 [N ] 反转的数组 [N ] = 反转的数组 [成员数量 ] 反转的数组 [成员数量 ] = 临时成员  成员数量 = 成员数量 - 1 计次循环尾 ()
|
-
-
多列数组排序.e
151.94 KB, 下载次数: 73, 下载积分: 精币 -2 枚
评分
-
查看全部评分
|