Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Сб апр 20, 2024 02:54

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Использование функции сортировки
СообщениеДобавлено: Ср мар 28, 2007 15:56 
Не в сети

Зарегистрирован: Вс окт 15, 2006 13:05
Сообщения: 149
Откуда: Украина, Киев
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Забавно, но не нашел ни одного примера использования функции сортировки в папке devel. искал в качестве примера, как использовать. Неужели, невостребованная функция?

Нашел только две реализации алгоритам сортировки:
- hsort.f
- QSORT.F

а вот прера по их использованию не нашел.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 28, 2007 17:03 
Цитата:
Нашел только две реализации алгоритам сортировки:
- hsort.f
- QSORT.F

В смысле: ~mlg/SrcLib/hsort.f и ~pinka/samples/2003/common/qsort.f.

Кстати, есть ещё: ~nn/lib/qsort.f, но её 1) надо исправлять 2) нет в дереве CVS.

Хм.. Может добавить быструю сортировку в абзац по этому делу в "SPF_DEVEL".

Исчерпывающее описание что называется внутри есть у библиотек.

А пример.. Ну я использовал, и что? Если человек не смог сообразить из описания в этих библиотеках (интерфейс у них одинаков -- три вектора), то bac4th ему совать вообще нельзя наверно.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 28, 2007 17:23 
Не в сети

Зарегистрирован: Вс окт 15, 2006 13:05
Сообщения: 149
Откуда: Украина, Киев
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
profiT писал(а):
В смысле: ~mlg/SrcLib/hsort.f и ~pinka/samples/2003/common/qsort.f.
.....
Исчерпывающее описание что называется внутри есть у библиотек.
....


Да именно эти библиотеки имелись ввиду.
Если бы все было бы понятно, то не стал бы тратить время на поиск примеров и написание поста. Навскидку, что значит в библиотеке QSORT.F
Код:
\ Рекурсивная
: quick_sort ( left right -- )  \ left <= rigth
  { il ir \ mid }

параметры ( left right -- ) ?

Безусловно можно построить догадки, написать отладочный скрипт и проверить. Это займет время. ИМХО, но это не есть "Исчерпывающее описание" :(


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 28, 2007 17:32 
Не в сети

Зарегистрирован: Чт май 04, 2006 18:18
Сообщения: 456
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Простой пример

Цитата:
REQUIRE [DEFINED] lib/include/tools.f

[UNDEFINED] []exch[] [IF]
VECT []>[]
VECT []exch[]
VECT []<[]
[THEN]

REQUIRE quick_sort ~pinka/samples/2003/common/qsort.f
REQUIRE " ~ac/lib/str5.f

CREATE a
" oh " , " i " , " believe " , " in " , " yesterday " ,
HERE a - CELL / VALUE n

: s.addr CELLS a + ;
: s ( i -- a u ) s.addr @ STR@ ;

: print n 0 DO I s TYPE LOOP ;

: s.compare ( i j -- ? ) s ROT s COMPARE ;
: s.exchange { n1 n2 -- } n1 s.addr @ n2 s.addr @ n1 s.addr ! n2 s.addr ! ;

:NONAME s.compare 0 < ; TO []>[]
:NONAME s.compare 0 > ; TO []<[]
' s.exchange TO []exch[]

CR print
0 n 1 - quick_sort
CR print

_________________
http://forth.org.ru/~ygrek


Последний раз редактировалось ygrek Ср мар 28, 2007 17:59, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 28, 2007 17:32 
http://forth.org.ru/~mlg/SrcLib/hsort.f

По поводу "непонятных" аргументов: это надо сначалу узнать что такое "быстрая сортировка".


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 28, 2007 17:49 
Не в сети

Зарегистрирован: Вс окт 15, 2006 13:05
Сообщения: 149
Откуда: Украина, Киев
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
yGREK писал(а):
Простой пример
-- спасибо за пример, это то, чего не хватало -- работающего примера из которого понятно как использовать библиотеку.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB