|
|
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 09:29 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
этот же код (только сортировка по возрастанию) работает правильно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 09:43 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Вроде так, протесть хорошенько ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:06 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
случайныйХ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Отвыкли студенты писать хоть какие-нибудь тесты на бумаге... В своё время приходилось писать без компилятора по несколько страниц кода, поскольку не было возможности работать с компом... Попробуйте - думать приучает... А ещё рулит пошаговая отладка и здравый смысл... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:07 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
А как называется этот метод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:08 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
AkhА как называется этот метод? "Всё дело в пузырьках" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:23 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
Dmitrii K. AkhА как называется этот метод? "Всё дело в пузырьках" :) Ни хрена не пузырек. Может какой-то модернизированнный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:25 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
Ой, блин, облажался. Это же опять во возрастанию. По убыванию так: Код: 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. Какой-то сокращенный пузырек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:28 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
Akh Dmitrii K. AkhА как называется этот метод? "Всё дело в пузырьках" :) Ни хрена не пузырек. Может какой-то модернизированнный? Точнее, модифицированный... Основной признак - перестановка соседних элементов по условию сортировки... А вариаций на тему "пузырьков" можно придумать сколько душе угодно... только вот смысл??? Есть же qsort, если лень самому писать нормальную сортировку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:30 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
никак этот метод не называется. я сам его придумал. спасибо! так работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:33 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
разве мой метод плох? :) а вот кстати, почему нельзя написать используя вместо Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:36 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
случайныйХникак этот метод не называется. я сам его придумал. спасибо! так работает. Молодец. По моему он будет быстрее чем обычный пузырек. Но обрати внимание на свою строчку: Код: plaintext 1. Если у тебя j==0, то цикл пойдет дальше и a[j-1] выйдет за границы массива. Кстати, для корректности, у меня тоже условие за выход границы лучше перенести сразу после while (сделать первым сравнением). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:41 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
случайныйХразве мой метод плох? :) а вот кстати, почему нельзя написать используя вместо Код: plaintext Код: plaintext Ладно, открою тебе тайну. Я тебя обманул. Я сделал сортировку по возрастанию, но в обратном порядке. Можешь считать меня подлецом. Раз ты сам придумал этот метод, попробуй разобраться как сделать по убыванию или докажи, что так сделать нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:45 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
случайныйХразве мой метод плох? :) а вот кстати, почему нельзя написать используя вместо Код: plaintext Код: plaintext Вот тебе "нормальный" цикл: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. А лучше разберись с двоичной, Шелла или ещё какой-нибудь более "шустрой"... полезнее будет... Тема вообще изъезженная, но всё-таки интересная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 10:51 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
о как! а мой метод то оказывается ещё и не для каждой последовательности цифр работает! 8-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:03 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
случайныйХо как! а мой метод то оказывается ещё и не для каждой последовательности цифр работает! 8-) Ну зачем же изобретательством заниматься... А если уж так сильно хочется, то делай метод универсальным... проверяй на все возможные случаи. "Если неприятность может случится, то случается самая неприятная неприятность в самый неподходящий момент" (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:09 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
вот я и прогнал свой метод по полной. не выдержал он, сломался... :-/ а изобретаю просто от нечего делать. говорят изобретательства мозги развивают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:16 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
Dmitrii K. Ну зачем же изобретательством заниматься... А если уж так сильно хочется, то делай метод универсальным... проверяй на все возможные случаи. Как зечем. Человеку стало интересно. Эксперементы очень полезны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:18 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
Кстати. У меня тут созрела мысль (исходя, из того, что СлучайныйХ написал, что метод работает не для всех последовательностей). Мне кажется, что самая плохая последовательность для ВСЕХ типов сортировок, это последовательность отсортированнная наоборт. Верно или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:21 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
случайныйХвот я и прогнал свой метод по полной. не выдержал он, сломался... :-/ а изобретаю просто от нечего делать. говорят изобретательства мозги развивают Работает твой метод для последовательности, которая отсортирована наоборт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:22 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
ну не сильно я ошибся. просто надо было вместо Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:28 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
AkhРаботает твой метод для последовательности, которая отсортирована наоборт?неа, не работал. а зато щас все грамотно. перетусовал последовательность всяко, метод испытания прошел! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:31 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
AkhКстати. У меня тут созрела мысль (исходя, из того, что СлучайныйХ написал, что метод работает не для всех последовательностей). Мне кажется, что самая плохая последовательность для ВСЕХ типов сортировок, это последовательность отсортированнная наоборт. Верно или нет? Что ты понимаешь под словом "плохая" ? В большинстве случаев она окажется самой трудоёмкой (максимальная длительность выполнения) ввиду того, что придётся производить максимальное количество перестановок... Но это ощутимо только при использовании неэффективных алгоритмов, типа пузырей, вставок и т.п. Скорость сортировки нормальными алгоритмами мало зависит от входных данных... А вообще, эффективность алгоритмов - это целая математическая теория... Достаточно посмотреть хотя бы трёхтомник Кнута, чтобы убедиться ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:33 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
случайныйХну не сильно я ошибся. просто надо было вместо Код: plaintext Код: plaintext На выход за границы массива надо проверять в первую очередь, так как там может оказать недопустимая область памяти, а ты уже начинаешь сравнивать с элементом за границами массива. Поэтому проверку за выход границы лучше сделать так: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:36 |
|
||
|
почему работает не как надо?
|
|||
|---|---|---|---|
|
#18+
Dmitrii K. AkhКстати. У меня тут созрела мысль (исходя, из того, что СлучайныйХ написал, что метод работает не для всех последовательностей). Мне кажется, что самая плохая последовательность для ВСЕХ типов сортировок, это последовательность отсортированнная наоборт. Верно или нет? Что ты понимаешь под словом "плохая" ? В большинстве случаев она окажется самой трудоёмкой (максимальная длительность выполнения) ввиду того, что придётся производить максимальное количество перестановок... Но это ощутимо только при использовании неэффективных алгоритмов, типа пузырей, вставок и т.п. Скорость сортировки нормальными алгоритмами мало зависит от входных данных... А вообще, эффективность алгоритмов - это целая математическая теория... Достаточно посмотреть хотя бы трёхтомник Кнута, чтобы убедиться ))) Я не точно выразился. Я имею ввиду не трудоемкость, а проверка алгоритма на корректность. Т.е., если заработает с такой последовательностью, то заработает и с другими. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 11:39 |
|
||
|
|

start [/forum/topic.php?fid=57&tid=2031229]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 379ms |

| 0 / 0 |
