|
|

楼主 |
发表于 2026-6-14 15:14:43
|
显示全部楼层
福建省福州市
|
| 排序模块_混合归并排序4 | | | |
| 参数_数组 | 整数型 | | | | 参数_升序 | 逻辑型 | | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 局变_数组成员个数 | 整数型 | | | | 局变_分段计数 | 整数型 | | | | 局变_游标首 | 整数型 | | 0 | | 局变_游标尾_ | 整数型 | | 0 | | 局变_临时_归并 | 整数型 | | 0 | | 局变_源是临时 | 逻辑型 | | | | n1 | 整数型 | | |
局变_数组成员个数 = 取数组成员数 (参数_数组 ) 如果真 (局变_数组成员个数 ≤ 1 ) 返回 () 如果真 (是否为空 (参数_升序 ) = 真) 参数_升序 = 真  局变_分段计数 = 子程序_计算游标边界4 (参数_数组, 局变_游标首, 局变_游标尾_ ) 如果 (局变_分段计数 = 1 )  如果 (参数_升序 = 真) 返回 () 数组模块_反转数组_整数型 (参数_数组 ) 返回 ()   如果 (局变_分段计数 = 局变_数组成员个数 )    如果 (参数_升序 = 真)  数组模块_反转数组_整数型 (参数_数组 )  返回 ()  返回 ()      重定义数组 (局变_临时_归并, 假, 局变_数组成员个数 )局变_源是临时 = 假 判断循环首 (局变_分段计数 > 1 )  变量循环首 (1, 局变_分段计数, 2, n1 )  如果 (局变_源是临时 = 假)  子程序_合并4 (参数_数组, 局变_临时_归并, 局变_游标首 [n1 ], 局变_游标尾_ [n1 ], 局变_游标首 [n1 + 1 ], 局变_游标尾_ [n1 + 1 ])  子程序_合并4 (局变_临时_归并, 参数_数组, 局变_游标首 [n1 ], 局变_游标尾_ [n1 ], 局变_游标首 [n1 + 1 ], 局变_游标尾_ [n1 + 1 ])    变量循环尾 ()  局变_分段计数 = 子程序_游标边界收束 (局变_游标首, 局变_游标尾_, 局变_分段计数 )  局变_源是临时 = 取反 (局变_源是临时 ) 判断循环尾 () 如果真 (局变_源是临时 = 真) 参数_数组 = 局变_临时_归并 |
| 子程序_游标边界收束 | 整数型 | | |
| 参数_游标首 | 整数型 | | | | 参数_游标尾_ | 整数型 | | | | 参数_旧分段计数 | 整数型 | | | |
m1 = 1 变量循环首 (1, 参数_旧分段计数, 2, n1 )  参数_游标首 [m1 ] = 参数_游标首 [n1 ]  参数_游标尾_ [m1 ] = 参数_游标尾_ [n1 + 1 ]  如果 (参数_游标尾_ [m1 ] = 0 )   参数_游标尾_ [m1 ] = 参数_游标尾_ [n1 ]    m1 = m1 + 1 变量循环尾 () 参数_游标首 [m1 ] = 0 参数_游标尾_ [m1 ] = 0 m1 = m1 - 1 返回 (m1 ) |
| 子程序_计算游标边界4 | 整数型 | | |
| 参数_数组 | 整数型 | | | | 参数_游标首 | 整数型 | | | | 参数_游标尾_ | 整数型 | | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | i | 整数型 | | | | 数组长度 | 整数型 | | | | 当前段数 | 整数型 | | |
数组长度 = 取数组成员数 (参数_数组 )重定义数组 (参数_游标首, 假, 数组长度 )重定义数组 (参数_游标尾_, 假, 数组长度 )当前段数 = 1 参数_游标首 [1 ] = 1 计次循环首 (数组长度 - 1, i )  如果真 (参数_数组 [i ] > 参数_数组 [i + 1 ])  参数_游标尾_ [当前段数 ] = i   当前段数 = 当前段数 + 1   参数_游标首 [当前段数 ] = i + 1   计次循环尾 () 参数_游标尾_ [当前段数 ] = 数组长度 返回 (当前段数 )|
| 子程序1_调试输出所有游标边界 | | | |
| 参数_游标首 | 整数型 | | | | 参数_游标尾 | 整数型 | | | |
计次循环首 (取数组成员数 (参数_游标首 ), n1 ) 调试输出 (n1, , 参数_游标首 [n1 ], 参数_游标尾 [n1 ]) 计次循环尾 () |
| 子程序_合并4 | | | |
| 参数_源 | 整数型 | | | | 参数_目标 | 整数型 | | | | 参数_左首 | 整数型 | | | | 参数_左尾 | 整数型 | | | | 参数_右首 | 整数型 | | | | 参数_右尾 | 整数型 | | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 局变_i | 整数型 | | | | 局变_j | 整数型 | | | | 局变_写 | 整数型 | | | 如果 (参数_右首 = 0 ) 内存拷贝_数组到数组 (参数_目标 [参数_左首 ], 参数_源 [参数_左首], (参数_左尾 - 参数_左首 + 1 ) × 4 ) 返回 () 局变_i = 参数_左首局变_j = 参数_右首 局变_写 = 参数_左首 循环判断首 () 如果 (参数_源 [局变_i ] ≤ 参数_源 [局变_j ])  参数_目标 [局变_写 ] = 参数_源 [局变_i ]  局变_i = 局变_i + 1   参数_目标 [局变_写 ] = 参数_源 [局变_j ]  局变_j = 局变_j + 1 局变_写 = 局变_写 + 1 如果真 (局变_i > 参数_左尾 ) 内存拷贝_数组到数组 (参数_目标 [局变_写 ], 参数_源 [局变_j], (参数_右尾 - 局变_j + 1 ) × 4 ) 返回 () 如果真 (局变_j > 参数_右尾 ) 内存拷贝_数组到数组 (参数_目标 [局变_写 ], 参数_源 [局变_i], (参数_左尾 - 局变_i + 1 ) × 4 ) 返回 ()  循环判断尾 (真) 压缩包 测试
|
|