EDA365电子论坛网

标题: 求助:如何让一个TABLE按指定顺序排序? [打印本页]

作者: wuyuhe    时间: 2015-11-9 10:38
标题: 求助:如何让一个TABLE按指定顺序排序?
如有一个TABLE为sum='('("L06" '(-0.5 2.5)) '("H09" '(-2.5 2.5)) '("A03" '(-1.5 2.5)))
如何让它排序成sum='('("H09" '(-2.5 2.5)) '("A03" '(-1.5 2.5)) '("L06" '(-0.5 2.5)))

作者: wuyuhe    时间: 2015-11-9 14:51
各位版本大大帮忙看看啊
作者: XYX365    时间: 2015-11-9 15:49
排序任何資料都要有一個基準點,
而看了資料後你是要依照第二個List裡面的第一個數值排列嗎?

作者: wuyuhe    时间: 2015-11-9 16:13
XYX365 发表于 2015-11-9 15:49
排序任何資料都要有一個基準點,
而看了資料後你是要依照第二個List裡面的第一個數值排列嗎?

对的

作者: XYX365    时间: 2015-11-9 16:25
wuyuhe 发表于 2015-11-9 16:13
对的

可以參考看看
https://www.eda365.com/thread-114336-1-2.html


作者: 361553894    时间: 2015-11-11 08:24
你这是根据caadr排序的么?

作者: wuyuhe    时间: 2015-11-11 09:29
361553894 发表于 2015-11-11 08:24
你这是根据caadr排序的么?

对的。
作者: 361553894    时间: 2015-11-11 11:16
本帖最后由 361553894 于 2015-11-11 11:19 编辑
wuyuhe 发表于 2015-11-11 09:29
对的。

  1. procedure( caadrSort(list1 list2)
  2.     let((y1 y2 result)
  3.         y1 = caadr(list1)
  4.         y2 = caadr(list2)
  5.         if(axlStrcmpAlpNum(y1 y2) then
  6.             result = t
  7.         else
  8.             result = nil
  9.         )
  10.         result
  11.     )
  12. )
复制代码

List = sort(List 'caadrSort)

if(axlStrcmpAlpNum(y1 y2) then 这行你自己改成lessp,其实不改也能用了

作者: wuyuhe    时间: 2015-11-12 08:13
361553894 发表于 2015-11-11 11:16
List = sort(List 'caadrSort)

if(axlStrcmpAlpNum(y1 y2) then 这行你自己改成lessp,其实不改也 ...

嗯,收到,谢谢。

作者: akl1111    时间: 2015-11-16 16:35
看看




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2