阿素里戈沃里嘚 发表于 2025-3-23 15:54
* “开始遍历删除”
* “遍历删除耗时:” | 10375.000000 | “剩余成员数:” | 500003
* “开始哈希表 ...
子程序名 | 返回值类型 | 公开 | 备 注 | ||||
数组去重复 | (哈希表版) 删除数组中的重复值和空值 | ||||||
参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
文本数组 | 文本型 | 保持原来数组顺序不变 | 逻辑型 | 真保持数组顺序不变,假打乱顺序 |
变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
局哈希 | 哈希表_ASM | |||||
i | 整数型 |
子程序名 | 返回值类型 | 公开 | 备 注 | ||||
数组去空值 | (哈希表版) 删除数组中的空值 | ||||||
参数名 | 类 型 | 参考 | 可空 | 数组 | 备 注 | ||
文本数组 | 文本型 | 保持原来数组顺序不变 | 逻辑型 | 真保持数组顺序不变,假打乱顺序 |
变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
局哈希 | 哈希表_ASM | |||||
i | 整数型 |
i支持库列表 | 支持库注释 |
spec | 特殊功能支持库 |
算法艺术家 发表于 2025-3-23 15:13
这个是不去除重复 只去除空值,
[/quote]
你这还不如遍历呢{:7_439:}
* “开始遍历删除”
* “遍历删除耗时:” | 10375.000000 | “剩余成员数:” | 500003
* “开始哈希表处理”
* “遍历删除耗时:” | 33625.000000 | “剩余成员数:” | 500003
[e=0].版本 2
子程序名 返回值类型 公开 备 注 _启动子程序 整数型 本子程序在程序启动后最先执行 重定义数组 (arr, 真, 1000000)
变量名 类 型 静态 数组 备 注 arr 文本型 0 arr2 文本型 0 i 整数型
置随机数种子 ()计次循环首 (取数组成员数 (arr), i)
arr [i] = 选择 (取随机数 (0, 1) = 0, “”, 到文本 (i))
计次循环尾 ()
复制数组 (arr2, arr)
调试输出 (“开始遍历删除”)
子程序1 (arr)
调试输出 (“开始哈希表处理”)
数组去空值 (arr2, 真)
返回 (0) ' 可以根据您的需要返回任意数值
子程序名 返回值类型 公开 备 注 子程序1 参数名 类 型 参考 可空 数组 备 注 arr 文本型 t = 取启动时间 ()
变量名 类 型 静态 数组 备 注 i 整数型 t 整数型 变量循环首 (取数组成员数 (arr), 1, -1, i)
如果真 (arr [i] = “”)
删除成员 (arr, i, 1)
变量循环尾 ()
调试输出 (“遍历删除耗时:”, 取启动时间 () - t, “剩余成员数:”, 取数组成员数 (arr))
子程序名 返回值类型 公开 备 注 数组去空值 (哈希表版) 删除数组中的空值 参数名 类 型 参考 可空 数组 备 注 文本数组 文本型 保持原来数组顺序不变 逻辑型 真保持数组顺序不变,假打乱顺序 t = 取启动时间 ()
变量名 类 型 静态 数组 备 注 局哈希 哈希表_ASM i 整数型 t 整数型
局哈希.创建 ( #整数型, #文本型, 20, , , , 保持原来数组顺序不变) ' 2的20次方除以1024 ' 1MB容量计次循环首 (取数组成员数 (文本数组), i)
如果真 (文本数组 [i] ≠ “”)
局哈希.添加 (i, 文本数组 [i])
计次循环尾 ()
局哈希.取所有值 (文本数组)
局哈希.清空 ()
调试输出 (“遍历删除耗时:”, 取启动时间 () - t, “剩余成员数:”, 取数组成员数 (文本数组))
i支持库列表 支持库注释 spec 特殊功能支持库
你这还不如遍历呢
* “开始遍历删除”
* “遍历删除耗时:” | 10375.000000 | “剩余成员数:” | 500003
* “开始哈希表处理”
* “遍历删除耗时:” | 33625.000000 | “剩余成员数:” | 500003
[e=0].版本 2
.支持库 spec
.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
.局部变量 arr, 文本型, , "0"
.局部变量 arr2, 文本型, , "0"
.局部变量 i, 整数型
重定义数组 (arr, 真, 1000000)
置随机数种子 ()
.计次循环首 (取数组成员数 (arr), i)
arr = 选择 (取随机数 (0, 1) = 0, “”, 到文本 (i))
.计次循环尾 ()
复制数组 (arr2, arr)
调试输出 (“开始遍历删除”)
子程序1 (arr)
调试输出 (“开始哈希表处理”)
数组去空值 (arr2, 真)
返回 (0) ' 可以根据您的需要返回任意数值
.子程序 子程序1
.参数 arr, 文本型, 参考 数组
.局部变量 i, 整数型
.局部变量 t, 整数型
t = 取启动时间 ()
.变量循环首 (取数组成员数 (arr), 1, -1, i)
.如果真 (arr = “”)
删除成员 (arr, i, 1)
.如果真结束
.变量循环尾 ()
调试输出 (“遍历删除耗时:”, 取启动时间 () - t, “剩余成员数:”, 取数组成员数 (arr))
.子程序 数组去空值, , , (哈希表版) 删除数组中的空值
.参数 文本数组, 文本型, 参考 数组
.参数 保持原来数组顺序不变, 逻辑型, , 真保持数组顺序不变,假打乱顺序
.局部变量 局哈希, 哈希表_ASM
.局部变量 i, 整数型
.局部变量 t, 整数型
t = 取启动时间 ()
局哈希.创建 (#整数型, #文本型, 20, , , , 保持原来数组顺序不变) ' 2的20次方除以1024 ' 1MB容量
.计次循环首 (取数组成员数 (文本数组), i)
.如果真 (文本数组 ≠ “”)
局哈希.添加 (i, 文本数组 )
.如果真结束
.计次循环尾 ()
局哈希.取所有值 (文本数组)
局哈希.清空 ()
调试输出 (“遍历删除耗时:”, 取启动时间 () - t, “剩余成员数:”, 取数组成员数 (文本数组))
算法艺术家 发表于 2025-3-23 15:13
[e=3]这个是不去除重复 只去除空值,
.版本 2
.支持库 spec
阿素里戈沃里嘚 发表于 2025-3-23 15:54
* “开始遍历删除”
* “遍历删除耗时:” | 10375.000000 | “剩余成员数:” | 500003
* “开始哈希表 ...
阿素里戈沃里嘚 发表于 2025-3-23 15:54
* “开始遍历删除”
* “遍历删除耗时:” | 10375.000000 | “剩余成员数:” | 500003
* “开始哈希表 ...
欢迎光临 精易论坛 (https://125.confly.eu.org/) | Powered by Discuz! X3.4 |