Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ Xlisp. (Очень нужна помощь.)

Автор: Men 9.01.2008 22:18

Задача: Напишите функцию, которая сортирует список чисел, используя алгоритм простой вставки.
-----
Написать как вы уже поняли, ее нужно на Лиспе.

Нужен не весь код, а алгоритм вставки одного элемента между двумя другими. Немогу понять, как его реализовать.

Кто может, прошу помочь.

Автор: мисс_граффити 10.01.2008 0:25

примерно вот так может выглядеть вставка элемента в отсортированный по возрастанию список:

(Defun Insert (el lst)
(cond
((null lst) (cons el nil))
((>(car lst) el) (cons el lst))
((AND (<(car lst) el)
(>(cadr lst) el))
(cons (car lst)
(cons el (cdr lst))))
(T (cons (car lst) (Insert el (cdr lst))))))


то есть:
(insert '5 '(0 1 2 3 4 6))
(0 1 2 3 4 5 6)

тщательно не тестировала...
на паре тестов прогнала в автокаде - вроде работает.

Автор: klem4 16.01.2008 22:58

Цитата
прогнала в автокаде


AutoCad ? blink.gif

Автор: мисс_граффити 17.01.2008 1:17

именно... smile.gif

"челябинские архитекторы так суровы, что даже бухгалтерию ведут в автокаде"(с) баш
мы что, хуже, что ли? smile.gif))