.版本 2
.程序集 字典, , 公开
.程序集变量 arr, Entry, , "0"
.程序集变量 left, 整数型
.程序集变量 right, 整数型
.程序集变量 mid, 整数型
.程序集变量 mid_val, 文本型
.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用
.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用
清除数组 (arr)
.子程序 get, 文本型, 公开
.参数 k, 文本型
left = 1
right = 取数组成员数 (arr)
mid = 1
.判断循环首 (left ≤ right)
mid = 到整数 ((left + right) ÷ 2)
mid_val = arr [mid].k
.判断开始 (mid_val = k)
返回 (arr [mid].v)
.判断 (mid_val < k)
left = mid + 1
.默认
right = mid - 1
.判断结束
.判断循环尾 ()
返回 (“”)
.子程序 put, 逻辑型, 公开
.参数 k, 文本型
.参数 v, 文本型, 参考 可空
.局部变量 e, Entry
left = 1
right = 取数组成员数 (arr)
mid = 1
.判断循环首 (left ≤ right)
mid = 到整数 ((left + right) ÷ 2)
mid_val = arr [mid].k
.判断开始 (mid_val = k)
.如果真 (是否为空 (v) = 假)
arr [mid].v = v
.如果真结束
返回 (真)
.判断 (mid_val < k)
left = mid + 1
.默认
right = mid - 1
.判断结束
.判断循环尾 ()
.如果真 (是否为空 (v) = 假)
e.k = k
e.v = v
插入成员 (arr, left, e)
.如果真结束
返回 (假)
.子程序 是否存在, 逻辑型, 公开
.参数 k, 文本型
返回 (put (k))
.子程序 clear, , 公开
清除数组 (arr)
.子程序 length, 整数型, 公开
返回 (取数组成员数 (arr))
.子程序 遍历成员, 文本型, 公开
.参数 max, 整数型, 可空, 需要打印的最大成员数,默认100
.局部变量 i, 整数型
.局部变量 结果, 文本型
.如果真 (是否为空 (max))
max = 100
.如果真结束
结果 = “{”
.计次循环首 (取数组成员数 (arr), i)
.如果真 (i > 1)
结果 = 结果 + “,”
.如果真结束
结果 = 结果 + arr [i].k + “:” + arr [i].v
.如果真 (i ≥ max)
跳出循环 ()
.如果真结束
.计次循环尾 ()
返回 (结果 + “}”)