
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.02.2003, 16:33
|
|||
|---|---|---|---|
Pomoghite s FUNCTION |
|||
|
#18+
Vsem privet !!! Vot text functii, ona compiliruetsea no cogda I ee vipolniau ona rugaetsea na if tab(j-1) > tab(j) then govorit tipa dannie ne naideni, ne mogu poniati pocemu, please pomoghite. ----------------------------------------------------------------------- create or replace function BubbleSort (str VARCHAR2) return varchar2 is Type TabNameTyp is table of VARCHAR2(250) index by binary_integer; tab TabNameTyp; temp CHAR; Result VARCHAR2(250); begin -- introducerea elementelor stringului 'str' in tabela for i in 1..length(str) loop tab(i) := substr(str,i,1); end loop; -- sortarea tabelului dupa metoda Bubble for i in 1..length(str)-1 loop for j in REVERSE i..length(str)-2 loop if tab(j-1) > tab(j) then -- RUGAETSEA POCEMU temp := tab(j-1); tab(j-1) := tab(j); tab(j) := temp; end if; end loop; end loop; -- Formarea stringului sortat Result := tab(1); for i in 2..length(str) loop Result := Result || tab(i); end loop; return (Result); end BubbleSort; Za ranie spasibo ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2003, 17:30
|
|||
|---|---|---|---|
Pomoghite s FUNCTION |
|||
|
#18+
"for j in REVERSE i..length(str)-2 loop if tab(j-1) > tab(j) then -- RUGAETSEA POCEMU " Когда у тебя i=1 и соответственно j=1 у тебя получается ссылка на элемент tab(0). Наименьшем индексом может быть 1, то есть tab(1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2003, 17:54
|
|||
|---|---|---|---|
Pomoghite s FUNCTION |
|||
|
#18+
если тебе это для работы, а не для лабороторных работ, то: 1. надо сильно оптимизировать функцию, например все вызовы "length(str)" в циклах заменить на переменную, кот. до этого проинициализировать... 2. пузырек(и его брат двунаправленный пузырек) является одним из самых медленных алгоритмов сортировки... возьми хотя бы "выборочную" сортировку... вот не поленился и написал: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. удачи !!! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2003, 18:36
|
|||
|---|---|---|---|
Pomoghite s FUNCTION |
|||
|
#18+
Rebeat spasibo... vi pomogli poneati moiu osibcu, zaputalsea I v atih tablicinih indecsah. :) Net ne dly labor. A dly cego obevliati dly length(str) peremenuiu ona i bez peremenoi rabotaet. Da pridetsea poprobuvati i drughie metodi sort. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2003, 18:47
|
|||
|---|---|---|---|
Pomoghite s FUNCTION |
|||
|
#18+
> A dly cego obevliati dly length(str) peremenuiu ona i bez peremenoi rabotaet. посчитай сколько раз вызовется "length(str)" для строки из 200 символов, например, зачем лишний раз напрягать и без того несчастный CPU ? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1991785]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
154ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 443ms |

| 0 / 0 |
