明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5352|回复: 15

论坛中有没有不用vl-sort对任意表进行多重排序的例子?

  [复制链接]
发表于 2011-8-22 23:19:44 | 显示全部楼层 |阅读模式
论坛中有没有不用vl-sort对任意表进行多重排序的例子?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2011-8-23 03:16:15 | 显示全部楼层
不明白楼主的意思:
1.什么是多重排序
2.任意表?不同的表、不同的排序要求,需要不同的排序函数。。。
 楼主| 发表于 2011-8-23 23:33:47 | 显示全部楼层
caoyin 发表于 2011-8-23 03:16
不明白楼主的意思:
1.什么是多重排序
2.任意表?不同的表、不同的排序要求,需要不同的排序函数。。。

多重排序,就象在EXCEL中一样,第一排序条件为:B列,降序;第二条件为:A列,升序;。。。。。
任意表的意思,比如:'((6 . "ajJ") 50 "558A"),条件可以表的第二项50,也可以为表的第一项中的6(或“ajJ”)
发表于 2011-8-24 01:17:21 | 显示全部楼层
楼主可以拿出个例子,然后把排序后的结果也写出来,便于大家讨论
 楼主| 发表于 2011-8-24 20:03:17 | 显示全部楼层
本帖最后由 LONGXIN 于 2011-8-24 20:08 编辑
caoyin 发表于 2011-8-24 01:17
楼主可以拿出个例子,然后把排序后的结果也写出来,便于大家讨论


'(
   ((5   "bjJ"  8) 50 "558A")
   ((5   "kJ"  5) 51 "658A")
   ((6   "ajJ"  5) 50 "558A")
   ((5   "ajJ"  5) 51 "48A")
)
对以上表按以下条件排序:
    第一条件,对红色例按升序排序;
    第二条件,对蓝色列按降序排序

排序结果:
'(
   ((5   "bjJ"  8) 50 "558A")
   ((6   "ajJ"  5) 50 "558A")
   ((5   "kJ"  5) 51 "658A")
   ((5   "ajJ"  5) 51 "48A")
)

注意:要求不用V-SORT函数,即不用V/LISP中的函数



发表于 2011-8-24 23:11:07 | 显示全部楼层
LONGXIN 发表于 2011-8-24 20:03
'(
   ((5   "bjJ"  8) 50 "558A")
   ((5   "kJ"  5) 51 "658A")

不用Vl-sort函数,能给个理由么?
 楼主| 发表于 2011-8-24 23:16:45 | 显示全部楼层
Lisper 发表于 2011-8-24 23:11
不用Vl-sort函数,能给个理由么?

因为我要其中的算法
发表于 2011-8-24 23:20:16 | 显示全部楼层
LONGXIN 发表于 2011-8-24 23:16
因为我要其中的算法

要算法?百度输入“排序算法”,会出来一堆排序算法,慢慢研究吧...
 楼主| 发表于 2011-8-25 13:12:58 | 显示全部楼层
Lisper 发表于 2011-8-24 23:20
要算法?百度输入“排序算法”,会出来一堆排序算法,慢慢研究吧...

没有找到像我这样要求排序的算法
发表于 2011-8-25 13:14:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-29 04:39 , Processed in 0.265971 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表