Форум: "Потрепаться";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
ВнизКто в muLisp силен? :( Найти похожие ветки
← →
Palladin (2003-04-02 02:01) [0]немогу усвоить мышление...
обкритикуйте и укажите где можно оптимизировать, а где вообще глупость
(defun _Swap (Arr I1 I2 %Local:% Res)
(loop (/= i1 0) (setq Res (sublist arr 0 (- i1 1)))
((< 1 2) nil)
)
; (prin1 Res)
; (write-line "")
(setq Res (append res (sublist arr i2 i2)))
; (prin1 Res)
; (write-line "")
(setq Res (append res (sublist arr (+ i1 1) (- i2 1))))
; (prin1 Res)
; (write-line "")
(setq res (append res (sublist arr i1 i1)))
; (prin1 Res)
; (write-line "")
(setq res (append res (sublist arr (+ i2 1) (- (length arr) 1))))
; (prin1 Res)
; (write-line "")
(return res)
)
(defun _Sort (Arr Lo Hi %Local:% l h m)
(write-line "")
(write-string "Params: ")
(prin1 Lo)
(write-string " ")
(prin1 Hi)
(write-line "")
(setq l Lo)
(setq h Hi)
(setq m (nth (truncate (+ l h) 2) Arr))
(loop
(prin1 Arr)
(write-line "")
(loop
((>= (nth l Arr) m) nil)
(setq l (+ l 1))
(write-string " l=") (prin1 l) (write-line " ")
)
(loop
((<= (nth h Arr) m) nil)
(setq h (- h 1))
(write-string " h=") (prin1 h) (write-line " ")
)
(loop
(<= l h)
(setq Arr (_Swap Arr l h))
((> 2 1) nil)
)
((> l h) nil)
)
( (> h Lo) (setq Arr (_Sort Arr Lo h)))
( (< l Hi) (setq Arr (_Sort Arr l Hi)))
(return Arr)
)
(_Sort "(2 9 4 7 1) "0 "4)
;(_swap "(a b c d e f) "1 "5)
это работает не совсем верно... почему то _swap в отдельности нормально меняет элементы в списке, а при отработке _sort: Arr все время наращивается...
у меня уже голова превратилась в универсальный счетчик закрытых и незакрытых скобочек...
← →
ShaggyDoc (2003-04-02 06:34) [1]Про то, как работает писать не буду, потому что не знаю, что такое muLisp (работаю в Visual Lisp, там подобные функции встроенные).
Что касается счетчика скобок, так это лет 10 вручную не делают. Еще в MultiEdit были макросы, да и в IDE это, естественно, встроено.
Можно разыскать, например, бесплатный VitalLisp Lite, он в отдельном exe и может работать с любыми файлами. Скобки в любом Lisp одинаковые...
← →
Palladin (2003-04-02 12:41) [2]дело не в этом...
дело в постановке задачи
именно на muLisp, именно сортировку (алгоритм без разницы),
ясен пень: там есть sort, но нужно написать самому...
а про скобочки это я так, попутно заметил...
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c