| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > LISP > пересечение списков |
| Автор: KiraLisp 26.3.2015, 08:19 |
| Добрый День!!!!Помогите,пожалуйста! (defun intersectionlist (list1 list2) (cond ((null list1) nil) ((null list2) nil) ((member (car list1) list2) (cons (car list1) (intersectionlist (cdr list1) list2))) (t (intersectionlist (cdr list1) list2)))) Имеется функция пересечения списков, но он работает только на внешнем уровне. Как сделать так, чтобы происходило пересечение соответствующих уровней . Например, список 1: ( a s d ( f g 1 2 ( h ))), список 2: ( d f ( f g 1 (h k) ) ) пересечение : ( d (f g 1 (h))) |