Помощь - Поиск - Пользователи - Календарь
Полная версия: Xlisp. (Очень нужна помощь.)
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
Men
Задача: Напишите функцию, которая сортирует список чисел, используя алгоритм простой вставки.
-----
Написать как вы уже поняли, ее нужно на Лиспе.

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

Кто может, прошу помочь.
мисс_граффити
примерно вот так может выглядеть вставка элемента в отсортированный по возрастанию список:
(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
Цитата
прогнала в автокаде


AutoCad ? blink.gif
мисс_граффити
именно... smile.gif

"челябинские архитекторы так суровы, что даже бухгалтерию ведут в автокаде"(с) баш
мы что, хуже, что ли? smile.gif))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.