- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
(defun create (a) ;; список из составляющих атомов списка A
(cond
((null a) nil)
((atom a) (list a))
(T (append (create (car a)) (create (cdr a))))
)
)
(defun uniq (a) ;; оставить только уникальные атомы
(cond
((null a) nil)
((member (car a) (cdr a)) (uniq (cdr a)))
(t (cons (car a) (uniq (cdr a))))
)
)
(defun compare (a b) ;; сравнение состава списков
(if (= (length a) (length b))
(diff a b)
nil
)
)
(defun diff (a b) ;; проверка состава 2x списков
(cond
((null a) T)
(T (if (member (car a) b)
(diff (cdr a) b)
nil )
)
)
)
(defun main (a b)
(compare
(uniq (create a))
(uniq (create b))
)
)
а нужно было всего то проверить состоят ли 2 списка из одних и тех же атомов
bildja 01.01.2010 21:03 # −3
guest 03.01.2010 23:10 # −3
guest 06.01.2010 15:29 # 0
guest 17.01.2010 20:04 # 0
nil 18.01.2010 00:50 # 0
guest 18.01.2010 08:24 # 0
nil 18.01.2010 18:22 # +1
Нормально отформатировано, вон, у меня емакс по умолчанию по-другому отформатировал, в фирменном стиле паровоза из закрывашек.
По мне, так нормальное форматирование, код читается, а что непривычно, так на кап да индент товарища нет, как говорится.
xXx_totalwar 18.01.2010 15:00 # 0