Тема: Сортировка списков

Допустим есть список
(1.1 2.2)  (1.3  3.3) (1.1 2.0) (1.3 1.1)
Как сделать сортировку по убыванию первого значения
  (1.3 3.3) (1.3 1.1) (1.1 2.2) (1.1 2.0)       (второе число тоже должно быть по убыванию)
И точно так второго значения
(1.3 3.3) (1.1 2.2) (1.1 2.0) (1.3 1.1)
Данный вариант действует только на одно значение

(setq  param_list
   (vl-sort
     param_list
     (function
       (lambda (e1 e2)
         (> (car e1) (car e2))
       )
     )
   )
  )

Re: Сортировка списков

> Артур
Сделай поиск по слову "сортиров" в названиях тем.

Re: Сортировка списков

> Артур
Примерно так:

(setq
  param_list
   (vl-sort
     (vl-sort
       param_list
       (function
     (lambda (e1 e2)
       (>
         (car e1)
         (car e2)
       )
     )
       )
     )
     (function
       (lambda (e1 e2)
     (>
       (car e1)
       (car e2)
     )
       )
     )
   )
)

Надеюсь понятно...

Re: Сортировка списков

(vl-sort lst
       '(lambda (x1 x2)
          (or
        (< (car x1) (car x2))
        (if
          (= (car x1) (car x2))
           (< (cadr x1) (cadr x2))
        )
          )
        )
  )

Re: Сортировка списков

(vl-sort lst
'(lambda (x1 x2)
(or
(< (car x1) (car x2))
(if
(= (car x1) (car x2))
(< (cadr x1) (cadr x2))
)
)
)
)