找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 576|回复: 9

[求助] 大神看看我这代码怎样能够继续改进到非常快

[复制链接]

已领礼包: 28个

财富等级: 恭喜发财

发表于 2018-4-21 00:14:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 1121443108qaz 于 2018-4-21 00:41 编辑

对多段线处理时,我用vl-remove-if获得一个多段线的全部顶点列表,但是里面可能有重复的点,比如(1 3)(1 4)(1 4)(1 4)(2 4)(2 3)(2 3)这样的点,现在我想用一个循环得到这样的结果(1 3) (1 4)(2 4)(2 3),即让这个表的第一个元素与第二个元素比对,如果不一样,就把第一个元素列入新表,cdr一下顶点列表,如果比对一样,cdr下顶点列表(不把第一个元素加入新表),直到顶点列表为空,这时获得一个新的顶点列表,这个顶点列表里相邻顶点不会 有相同的,但是在整个列表里面可以有一样的。

plist 已知
  (while (/= plist nil)
(if (equal (car plist) (cadr plist))
  (progn (setq plist(cdr plist)))
  (progn (setq nplist(cons (car plist) nplist))(setq plist(cdr plist)))

  ))

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 28个

财富等级: 恭喜发财

 楼主| 发表于 2018-4-21 00:20:15 | 显示全部楼层
本帖最后由 1121443108qaz 于 2018-4-21 00:42 编辑

有时一条多段线有成千上万个点,像我这个思路感觉还是很浪费内存很慢,每次取的第二个元素是下一次循环的第一个元素,结果我又重新取一次,应该有更好的方法或者已经有函数了?我试过用vl-remove-if和vl-remove-if-not没成功
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

发表于 2018-4-21 00:44:34 | 显示全部楼层

回帖奖励 +5 D豆

不是很明白。

评分

参与人数 1D豆 -30 收起 理由
newer -30 请开心交流!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

发表于 2018-4-21 00:45:43 | 显示全部楼层

回帖奖励 +5 D豆

回复可以领豆豆!

点评

豆豆没什么的,多签到就有了  详情 回复 发表于 2018-4-21 08:28
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6056个

财富等级: 富甲天下

发表于 2018-4-21 00:47:15 | 显示全部楼层

回帖奖励 +5 D豆

谢谢楼主!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-4-21 06:02:54 | 显示全部楼层
这基本的表操作,晓东通用函数库怎么能没有呢


你要的函数是表操作,用 XD::LIST 搜索开源函数库论坛,下面就有你要的 xd::list:removedup


点评

我在xd::list:removedup这函数原贴下面回了你,这函数达不到我的要求  详情 回复 发表于 2018-4-21 12:42
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 28个

财富等级: 恭喜发财

 楼主| 发表于 2018-4-21 08:28:59 来自手机 | 显示全部楼层
kqqt6236 发表于 2018-4-21 00:45
回复可以领豆豆!

豆豆没什么的,多签到就有了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3718个

财富等级: 富可敌国

发表于 2018-4-21 09:11:10 | 显示全部楼层
  ;(setq plist '((1 3) (1 4) (1 4) (1 4)  (2 4) (2 3) (2 3) (2 4) (1 4)))
  (setq nplist nil)
  (while (setq pt (car plist))
       (setq plist (vl-remove pt plist))
       (setq nplist (cons pt nplist))
  )
  (setq nplist (reverse nplist))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 28个

财富等级: 恭喜发财

 楼主| 发表于 2018-4-21 12:42:38 | 显示全部楼层
newer 发表于 2018-4-21 06:02
这基本的表操作,晓东通用函数库怎么能没有呢

我在xd::list:removedup这函数原贴下面回了你,这函数达不到我的要求

点评

命令: (setq a '((1 3)(1 4)(1 4)(1 4)(2 4)(2 3)(2 3))) ((1 3) (1 4) (1 4) (1 4) (2 4) (2 3) (2 3)) 命令: (xd::list:removedup a) ((1 3) (1 4) (2 4) (2 3)) 这不就是你帖子里面要的结果嘛  详情 回复 发表于 2018-4-21 15:45
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2018-4-21 15:45:07 | 显示全部楼层
1121443108qaz 发表于 2018-4-21 12:42
我在xd::list:removedup这函数原贴下面回了你,这函数达不到我的要求

命令: (setq a '((1 3)(1 4)(1 4)(1 4)(2 4)(2 3)(2 3)))
((1 3) (1 4) (1 4) (1 4) (2 4) (2 3) (2 3))
命令: (xd::list:removedup a)
((1 3) (1 4) (2 4) (2 3))

这不就是你帖子里面要的结果嘛

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-19 03:35 , Processed in 0.449973 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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