明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2190|回复: 6

[讨论] 发一个最难的排序题目

[复制链接]
发表于 2014-8-24 14:20:18 | 显示全部楼层 |阅读模式
3明经币
(defun c:px()

(setq a 3.84)
(setq b 3.1)
(setq c 3.54)
(print (vl-sort '( a b c) '<))
)
;想输出 (3.1 3.54 3.84)
;可是程序却显示 ; 错误: 用于比较的参数类型不正确: C B
;我想从小到大输出 请问该如何实现?

点评

“发一个最难的排序题目”——没必要故弄玄虚!  发表于 2014-8-24 14:29
火候未到  发表于 2014-8-24 14:28
发表于 2014-8-24 14:20:19 | 显示全部楼层
  1. (defun c:tt ()
  2.   (setq a 3.84
  3.         b 3.1
  4.         c 3.54
  5.   )
  6.   (print (vl-sort (list a b c) '<))
  7. )

点评

我发的时候明明没有看到版主发的.  发表于 2014-8-24 14:33
回复

使用道具 举报

发表于 2014-8-24 14:30:36 | 显示全部楼层
本帖最后由 SunSpring 于 2014-8-24 14:37 编辑

重复删除.

点评

试试4楼的内容  发表于 2014-8-24 14:57
回复

使用道具 举报

发表于 2014-8-24 14:33:13 | 显示全部楼层
扩展:(setq a 3.84 b 3.1 c 3.54 f 1 d 2 e 1)如何从小到大排序?
回复

使用道具 举报

 楼主| 发表于 2014-8-24 14:34:40 | 显示全部楼层
谢谢论坛各位兄弟!!!高手啊!
回复

使用道具 举报

发表于 2014-8-24 15:13:33 | 显示全部楼层
xyp1964 发表于 2014-8-24 14:33
扩展:(setq a 3.84 b 3.1 c 3.54 f 1 d 2 e 1)如何从小到大排序?

(defun c:px ()
  (setq a 3.84 b 3.1 c 3.54 f 1 d 2 e 1)
  (setq lst0 (list a b c d e f))
  (setq lst1 (vl-sort-i lst0 '<))
  (mapcar '(lambda (x) (nth x lst0)) lst1)
)

评分

参与人数 1明经币 +1 收起 理由
xyp1964 + 1 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-8-25 18:34:55 | 显示全部楼层
xyp1964 发表于 2014-8-24 14:33
扩展:(setq a 3.84 b 3.1 c 3.54 f 1 d 2 e 1)如何从小到大排序?

这种排列其实很简单,转字符串后再排列
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-6 07:29 , Processed in 0.165276 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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