精易论坛

标题: 昨天看到一个50求数组排序的问题源码 [打印本页]

作者: mqbblove    时间: 2016-4-29 14:33
标题: 昨天看到一个50求数组排序的问题源码
帖子地址http://125.confly.eu.org/thread-13891025-1-2.html昨晚没网了.今天把源码附上.跟大家一起学习学习.可完美实现贴子内容.

  
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
编号数组1文本型0
II整数型 
nn整数型 
kk整数型 
a整数型 
计次数组整数型0
姓名数组文本型0
金额数组双精度小数型0
编号数组文本型0
mm整数型 
金额双精度小数型 
sy整数型 
只加一次逻辑型 
计次循环首 (超级列表框1.取表项数 (), II)
加入成员 (编号数组1, 超级列表框1.取标题 (II, 2))
计次循环尾 ()
计次循环首 (10, kk)
a = 数组_取次数 (编号数组1, “00”到文本 (kk))
如果真 (a > 0)
金额 = 0
加入成员 (计次数组, a)
加入成员 (编号数组, “00”到文本 (kk))
超级列表框1.现行选中项 = -1
计次循环首 (超级列表框1.取表项数 (), mm)
超级列表框1.现行选中项 = 超级列表框1.现行选中项 + 1
只加一次 = 真
如果真 (超级列表框1.取标题 (超级列表框1.现行选中项, 2)“00”到文本 (kk))
计次循环首 (取数组成员数 (姓名数组), nn)
如果 (姓名数组 [nn] = 超级列表框1.取标题 (超级列表框1.现行选中项, 1))
只加一次 = 假
只加一次 = 真

计次循环尾 ()
如果真 (只加一次 = )
加入成员 (姓名数组, 超级列表框1.取标题 (超级列表框1.现行选中项, 1))
金额 = 金额 + 到数值 (超级列表框1.取标题 (超级列表框1.现行选中项, 3))
调试输出 (金额)

计次循环尾 ()
加入成员 (金额数组, 金额)
sy = 超级列表框2.插入表项 (, , , , , )
超级列表框2.置标题 (sy, 4, 到文本 (计次数组 [超级列表框2.取表项数 ()]))
超级列表框2.置标题 (sy, 0, 到文本 (超级列表框2.取表项数 ()))
超级列表框2.置标题 (sy, 1, 姓名数组 [超级列表框2.取表项数 ()])
超级列表框2.置标题 (sy, 2, 编号数组 [超级列表框2.取表项数 ()])
超级列表框2.置标题 (sy, 3, 到文本 (金额数组 [超级列表框2.取表项数 ()]))

计次循环尾 ()
_超级列表框2_表头被单击 (4)
子程序名返回值类型公开备 注
_超级列表框2_表头被单击  
参数名类 型参考可空数组备 注
被单击列索引整数型
变量名类 型静态数组备 注
i整数型 
判断 (被单击列索引 = 4)
(超级列表框2, 被单击列索引, 3)
(超级列表框2, 被单击列索引, 3)


计次循环首 (超级列表框2.取表项数 () - 3, i)
超级列表框2.删除表项 (超级列表框2.取表项数 () - 1)
计次循环尾 ()i = 1
计次循环首 (超级列表框2.取表项数 (), i)
超级列表框2.置标题 (超级列表框2.取表项数 () - i, 0, 到文本 (超级列表框2.取表项数 () - i + 1))
计次循环尾 ()


i支持库列表   支持库注释   
iext扩展界面支持库一
spec特殊功能支持库


11.rar (151.69 KB, 下载次数: 19)






作者: 冯古屋    时间: 2016-4-29 14:43
我昨天也能弄了,哈哈,可惜还没发
不过你这个有一个问题,如果第二次按一下就会数组下标出错。
作者: mqbblove    时间: 2016-4-29 14:44
冯古屋 发表于 2016-4-29 14:43
我昨天也能弄了,哈哈,可惜还没发
不过你这个有一个问题,如果第二次按一下就会数组下标出错。

额,数组没清空.加一行就可以了.
作者: 冯古屋    时间: 2016-4-29 14:51
mqbblove 发表于 2016-4-29 14:44
额,数组没清空.加一行就可以了.

应该是
超级列表框2.全部删除 ()
作者: mqbblove    时间: 2016-4-29 14:56
冯古屋 发表于 2016-4-29 14:51
应该是
超级列表框2.全部删除 ()


作者: 冯古屋    时间: 2016-4-29 14:59
mqbblove 发表于 2016-4-29 14:56

如果不用模块你准备怎么做?哈哈
作者: mqbblove    时间: 2016-4-29 15:11
冯古屋 发表于 2016-4-29 14:59
如果不用模块你准备怎么做?哈哈

排序吗?这个以前研究过一下.搞得头大了.先把次数加入成员.数组按大小排序.然后再查找编号所在行.取所在行的其它列的标题.再一个一个插入列表.目前我只能这个思路.
作者: 冯古屋    时间: 2016-4-29 15:14
mqbblove 发表于 2016-4-29 15:11
排序吗?这个以前研究过一下.搞得头大了.先把次数加入成员.数组按大小排序.然后再查找编号所在行.取所在行 ...

我的想法,
先去重复的将姓名组成一个数组
然后弄个金额数组、次数数组
根据姓名的条件,把对应姓名的金额和次数都增加完全
然后,根据金额数组冒泡排序,其他的数组跟着一起动位置,哈哈
这样子就实现了对应数组的排序,然后直接去各自数组的前三。
作者: mqbblove    时间: 2016-4-29 15:14
mqbblove 发表于 2016-4-29 15:11
排序吗?这个以前研究过一下.搞得头大了.先把次数加入成员.数组按大小排序.然后再查找编号所在行.取所在行 ...

不过次数会有同样的数值.会导致不准确的了
作者: mqbblove    时间: 2016-4-29 15:29
冯古屋 发表于 2016-4-29 15:14
我的想法,
先去重复的将姓名组成一个数组
然后弄个金额数组、次数数组

前面的工作原理都差不多.不过最后进行次数排序时我用的模板的了.还不是很理解冒泡排序.基数.希尔等
作者: 阳光大侠    时间: 2016-4-29 22:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 阳光大侠    时间: 2016-4-30 13:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: ssjc6688    时间: 2016-7-9 10:24
顶起来 谢谢
作者: 轻轻的我来了    时间: 2017-8-21 18:20
学习了




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4