> 1 <

Автор Сообщение

Stream

Members


Статус

2 сообщений

Где: Russia
Род занятий:
Возраст:

#302   2009-03-19 19:38 GMT+3 часа(ов)      
Добрый вечер. Нужна ваша помощь по задаче.
Условие:
Цитата
Дерево двоичного поиска представлено многоуровневым списком вида (x1 (x2 (...) (...)) (x3 (...) (...))). Реализовать функцию добавления новогозначения в дерево.

Вот что получилось:
Код:
(defun add(x a)
(cond ( (null x) (list a nil nil))
( (> a (car x)) (list (car x) (cadr x) (add (caddr x) a)) )
( (< a (car x)) (list (car x) (add (caddr x) a) (cadr x)) )
(t x)
)
)
 
;(add '(9 NIL NIL) 12) - эта работает
;(add '(9 NIL NIL) 4) - эта тоже
(add '(9 (3 nil nil ) nil ) 4) - эта работает неправильно.
 


Помогите пожалуйста дописать.

отредактировал(а) Stream: 2009-03-19 19:54 GMT+3 часа(ов)

Stream

Members


Статус

2 сообщений

Где: Russia
Род занятий:
Возраст:

#303   2009-03-19 21:21 GMT+3 часа(ов)      
(defun add(x a)
(cond ( (null x) (list a nil nil))
( (> a (car x)) (list (car x) (cadr x) (add (caddr x) a)) )
( (< a (car x)) (list (car x) (add (cadr x) a) (caddr x)) )
 
(t x)
)
)
 
;(add '(9 NIL NIL) 12)
;(add '(9 NIL NIL) 4)
(add '(9 (3 nil nil ) nil ) 4)


работает вроде
> 1 <


Онлайн :

0 пользователь(ей), 12 гость(ей) :




Реклама на сайте: