Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.023 c
4-54956
kostik78ua
2003-02-19 12:32
2003.04.17
FindWindowEx


14-54861
Leran2002
2003-04-01 20:57
2003.04.17
Ты скажи ну хто его придумал... :((


4-54939
alexrush
2003-02-15 12:00
2003.04.17
Desktops & WindowStations


4-54961
SeNtiMeL
2003-02-15 14:55
2003.04.17
Вопрос по формам ! Или BringOnTop


4-54953
children
2003-02-18 20:56
2003.04.17
командная строка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский