onlooker 发表于 2018-4-12 10:40:24

在一群坐标点,一些坐标y值相同,例如y1,此时如何取得y1坐标下的x坐标最大的那个点?

在n个坐标点时,一些坐标它们的y值是相同的,例如是y1,另外一些坐标它们的y值是y2,这个时候我需要取出来的是在y1坐标下,x坐标最大的哪个点,y2坐标下,x坐标最大的那个点,比如下列坐标点   lst '(100.0 100.0) '(115.0 100.0)      '(115.0 115.0) '(115.022 115.0)
                  '(100.0 120.834) '(130.0 130.0) '(140.0 130.0) '(160.0 155.0)
                  '(190.0 180.0) '(180.0 180.0)      '(190.0 190.0) '(200.0 190.0)
                  '(179.559 200.0) '(200.0 200.0))
要获得的坐标就是:(115.0 100.0 ) (100.0 120.834)((140.0 130.0)(160.0 155.0)(190.0 180.0)((200.0 190.0)(200.0 200.0)
论坛的大神们,求帮助啊!

onlooker 发表于 2018-4-12 10:41:08

在线等待中,求解

fan_zh 发表于 2018-4-14 11:06:10

(vl-sort lst
                     '(lambda (a b)
                        (if (equal (cadar a) (cadar b) 0.001)
                          (< (caar a) (caar b))
                          (> (cadar a) (cadar b))
                        )
                      )
          )
仅供参考

迷失1786 发表于 2018-5-16 23:15:34

1,5369831.622,4827565.957,
2,5519053.344,4929086.315,
3,5703878.834,4912863.995,
4,5832680.754,4878326.141,
5,5952058.114,4813960.137,
6,5990279.833,4694647.554,
7,5962006.242,4624001.943,
8,5903364.721,4570625.259,
9,5755713.748,4574288.365,
10,5625341.079,4600453.410,
11,5480308.057,4607779.612,
12,5407006.139,4692554.352,
13,5359883.494,4776805.783,
14,5336845.762,4810297.030,
15,5336845.762,4840125.181,
16,5353076.886,4853207.703,
17,5367213.692,4853207.703,
18,5500204.269,4750640.739,
19,5585298.007,4762251.266,
20,5600551.150,4846768.070,
21,5524884.374,4887391.800,
22,5462866.591,4827981.842,
23,5635903.951,4822877.639,
24,5685603.635,4822877.639,
25,5685603.635,4793237.548,
26,5635903.951,4793237.548,
27,5710555.724,4819402.592,
28,5760255.408,4819402.592,
29,5760255.408,4789762.501,
30,5710555.724,4789762.501,
31,5787457.284,4804275.931,
32,5837156.968,4804275.931,
33,5837156.968,4774635.840,
34,5787457.284,4774635.840,
35,5837991.304,4746543.469,
36,5887690.988,4746543.469,
37,5887690.988,4716903.377,
38,5837991.304,4716903.377,
39,5851899.017,4693191.321,
40,5901598.701,4693191.321,
41,5901598.701,4663551.230,
42,5851899.017,4663551.230,
43,5793813.820,4658645.285,
44,5843513.503,4658645.285,
45,5843513.503,4629005.194,
46,5793813.820,4629005.194,
47,5702582.318,4667048.061,
48,5731829.465,4667048.061,
49,5731829.465,4641905.097,
50,5702582.318,4641905.097,
页: [1]
查看完整版本: 在一群坐标点,一些坐标y值相同,例如y1,此时如何取得y1坐标下的x坐标最大的那个点?