精易论坛

标题: LibXL4.2排序求解 [打印本页]

作者: 9902187    时间: 昨天 00:10
标题: LibXL4.2排序求解
请大神指点一下libxL4.2的排序写法,屡试不成功

4.2版的EC

4.2版的EC

作者: b0y    时间: 昨天 00:17
1.jpg

4.2没用过  这个是3.9x的
作者: 9902187    时间: 昨天 00:28
b0y 发表于 2025-6-22 00:17
4.2没用过  这个是3.9x的

里面的命令不一样, 原理应该是一样的,我再试试看
作者: 小路陆    时间: 昨天 01:01
感谢分享
作者: APPLEUFO    时间: 昨天 01:11
  
子程序名返回值类型公开备 注
快速排序_代码之美_拷贝用 小到大   参数L 填写第一个成员,U 填写最后一个成员 (数组,1,取数组成员(数组)的样子)、、000001   拷贝用  
参数名类 型参考可空数组备 注
参数_数组数据报.. 000002  类型注意修改成合适的
参数_左整数型
参数_右整数型
变量名类 型静态数组备 注
n1整数型 
m整数型基准
如果真 (参数_左 ≥ 参数_右)
返回 ()

交换变量 (参数_数组 [参数_左], 参数_数组 [取随机数 (参数_左, 参数_右)])
m = 参数_左
变量循环首 (参数_左 + 1, 参数_右, 1, n1)  ' 这里是 i++ 的意思
如果真 (参数_数组 [n1] > 参数_数组 [参数_左])  ' ....  000003     从大到小如果真 ()如果真 ()
m = m + 1  ' -            ++x 是要先加,然后再使用,x++ 则是先用X,然后再加1
交换变量 (参数_数组 [m], 参数_数组 [n1])

变量循环尾 ()
交换变量 (参数_数组 [参数_左], 参数_数组 [m])
快速排序_代码之美_拷贝用 (参数_数组, 参数_左, m - 1)
快速排序_代码之美_拷贝用 (参数_数组, m + 1, 参数_右)

把这改成你那个就是快速排序了
要修改的就是0001-03  三个地方

作者: 9902187    时间: 昨天 01:17
b0y 发表于 2025-6-22 00:17
4.2没用过  这个是3.9x的

非常感谢提供的思路, 没有使用  XL筛选 = XL工作表.取自动筛选 (),而直接使用的,XL筛选.添加列排序 (0, ) 怪不得不行.
作者: 豆豆灰常开心    时间: 昨天 07:08
全都是大佬~
作者: 查过    时间: 昨天 07:12
感谢发布原创作品,精易因你更精彩!6666666666666
作者: 一指温柔    时间: 昨天 08:54
感谢分享
作者: a1533759138    时间: 昨天 09:18
感谢分享
作者: 1184798949    时间: 昨天 10:03
感谢分享
作者: a657938016    时间: 昨天 15:54
感谢分享  精易有你更精彩
作者: 9902187    时间: 昨天 20:16
APPLEUFO 发表于 2025-6-22 01:11
[e=2].版本 2

.子程序 快速排序_代码之美_拷贝用, , , 小到大   参数L 填写第一个成员,U 填写最后一个成 ...

感谢回复,你这个不是libxL吧
作者: lxn2wyf    时间: 昨天 21:00
先点评加好评再送精币的说,真不错的做法!
作者: ttggnn    时间: 昨天 21:16

感谢分享
作者: kike    时间: 昨天 21:48
[ 本帖最后由 kike 于 2025-6-22 21:52 编辑 ]\n\n
  
变量名类 型静态数组备 注
bookXL工作簿类 
sheetXL工作表类 
filterXL自动筛选类 
book.打开文件 (取运行目录 ()“\测试读入表.xlsx”)
sheet = book.选择工作表 (0)
filter = sheet.取自动筛选 ()
filter.置自动筛选区域 (0, 0, sheet.结束使用行 (), 0)
filter.置列排序 (0, )
sheet.置自动筛选 ()
book.保存文件 (“test123.xlsx”)
book.释放 ()

排序前

排序前

排序后

排序后





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