Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.17;
Скачать: CL | DM;

Вниз

Кто в 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
14-54827
AlexZ
2003-04-01 08:28
2003.04.17
Сайт пропал


1-54695
ВДР
2003-04-04 17:50
2003.04.17
изменение цвета Button


14-54845
DiamondShark
2003-04-01 13:59
2003.04.17
Кошмар богослова


14-54812
Романов Р.В.
2003-03-30 15:25
2003.04.17
Как прошла очередная встреча мастаков?


14-54808
Kotka
2003-03-31 18:22
2003.04.17
Настройка модема