QQ登录

只需一步,快速开始

发帖

[算法分享]QQ发言榜 [技术分享]

[复制链接]
tang_ge开发者认证 发表于 2021-8-27 17:42:50 | 显示全部楼层 |阅读模式
本帖最后由 tang_ge 于 2021-8-28 10:32 编辑

由于是临时写的代码没有用 Drea 的开发模板,但本贴注重的是其算法。


之前开发群里有人再写QQ发言榜时遇到了如何排序的问题,今天刚好有点空便写了一下发言排序。


窗体样式(左:超级列表框1,右:超级列表框2):


此处使用插入随机数据来代替发言的QQ和次数,实际应用需要直接使用真实的发言数据。


算法需要用到名为 QQ发言榜 的自定义数据类型


代码中的注释已对脚本做出简单解释

效果:


*如果没有看到图片可以刷新一下

附上源码:
  1. .版本 2
  2. .支持库 iext

  3. .子程序 _按钮2_被单击
  4. .局部变量 发言榜, QQ发言榜, , "0"
  5. .局部变量 temp1, QQ发言榜
  6. .局部变量 temp2, QQ发言榜
  7. .局部变量 i_1, 整数型
  8. .局部变量 i_2, 整数型
  9. .局部变量 i_3
  10. .局部变量 引索, 整数型

  11. ‘内容由 tang_ge 独创,未经允许,请勿转载至其它平台
  12. .计次循环首 (超级列表框1.取表项数 (), i_1)
  13.     temp1.QQ = 超级列表框1.取标题 (i_1 - 1, 0)
  14.     temp1.次数 = 到整数 (超级列表框1.取标题 (i_1 - 1, 1))
  15.     插入成员 (发言榜, 取数组成员数 (发言榜) + 1, temp1)
  16. .计次循环尾 ()
  17. .计次循环首 (取数组成员数 (发言榜) - 1, )
  18.     .计次循环首 (取数组成员数 (发言榜) - 1, i_2)
  19.         .如果真 (发言榜 [i_2].次数 < 发言榜 [i_2 + 1].次数)
  20.             temp2 = 发言榜 [i_2 + 1]
  21.             发言榜 [i_2 + 1] = 发言榜 [i_2]
  22.             发言榜 [i_2] = temp2
  23.         .如果真结束

  24.     .计次循环尾 ()
  25. .计次循环尾 ()
  26. .计次循环首 (取数组成员数 (发言榜), i_3)
  27.     引索 = 超级列表框2.插入表项 (, , , , , )
  28.     超级列表框2.置标题 (引索, 0, 发言榜 [i_3].QQ)
  29.     超级列表框2.置标题 (引索, 1, 到文本 (发言榜 [i_3].次数))
  30. .计次循环尾 ()

  31. .版本 2

  32. .数据类型 QQ发言榜
  33.     .成员 QQ, 文本型
  34.     .成员 次数, 整数型
复制代码



回复

使用道具 举报

高坂清风开发者认证 发表于 2021-8-27 17:50:10 | 显示全部楼层
顶顶顶,自古一楼是我占
回复

使用道具 举报

nbj 发表于 2022-4-5 15:09:58 | 显示全部楼层
谢谢大佬
回复

使用道具 举报

Powered by Discuz! © 2001-2024 Discuz! Team. X3.5

GMT+8, 2024-11-24 07:09 , Processed in 0.053809 second(s), 21 queries Archiver|手机版|梦幻社区 | 鄂ICP备17017983号-3 |

登录切换风格
快速回复 返回顶部 返回列表