Сортировка в Лиспе
, Как это сделать?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.124] |
|
|
Сортировка в Лиспе
, Как это сделать?
|
Сообщ.
#1
,
|
|
|
|
Всем доброго дня!
Задали в универе задачку, по принципу: "Разбирайтесь сами". Как в Лиспе отсортировать список??? У меня какой-то XLisp и раз такая задача, стандартных функций сортировки там, как в AutoCad, наверно нет. Поможите, чем можете... |
|
Сообщ.
#2
,
|
|
|
|
Ты знаешь, такая сортировка как в AutoLisp может и проблем много доставить.
Посмотри на http://algolist.manual.ru - там много алгоритмов сортировки, да и вообще много разных алгоритмов. |
|
Сообщ.
#3
,
|
|
|
|
Мне без разницы каким алгоритмом сортировать. Я даже пузырек придумать не могу (((:
|
|
Сообщ.
#4
,
|
|
|
|
(defun innersort '(l) (cond ((eq (cdr l) nil) l) ((< (car l) (cadr l)) (cons (car l) (innersort (cdr l)))) (T (cons (cadr l) (innersort (cons (car l) (cddr l)]
(defun checklist '(l) (cond ((eq (cdr l) nil) T) ((> (car l) (cadr l)) NIL) (T (checklist (cdr l)] (defun mainsort '(l) (cond ((checklist l) l) (T (mainsort (innersort l))] Вот. innersort реализует один шаг (полный проход) пузырька, checklist проверяет на выход, mainsort реализует рекурсивный цикл... Изврат |