![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 24.01.2011
Сообщений: 774
|
![]()
Я напсал простенькую программку на Delphi 7, которая требует от
пользователя число, затем создает случайный массив и сортирует его. затем выводит на экран. Почему-то при длине массива больше трех, программа выдает EStackOverflow. Причем ошибку вызывает именно быстрая сортировка. Спрашивается, почему? Помогите, дорогие форумчане. Код:
a.k.a. Angelicos Phosphoros
Мой сайт |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
А зачем внутри сортировки рандом?
|
![]() |
![]() |
![]() |
#3 |
Сисадмин
Форумчанин
Регистрация: 28.12.2007
Сообщений: 320
|
![]()
Рекурсия -> не совсем корректное условие завершения рекурсии -> переполнение стека. Я не разбирался в этом коде, при длине массива 10, 3 раза выполнилась программа, 1 раз - переполнение стека. Массив заполняется случайными числами, вероятно, что какие-то значения препятствуют корректному выходу из рекурсии
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]()
Потому что рекурсия оказывается бесконечной. Добавьте отладочную печать, выводите то, с какими аргументами вызывается Qs.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Странности с полиморфизмом | _Bers | Общие вопросы C/C++ | 4 | 03.02.2012 20:48 |
Ограничитель в быстрой сортировке | Юлия999 | Помощь студентам | 1 | 08.06.2011 10:47 |
странности ControlServiceEx() | m_kostik | Win Api | 5 | 28.10.2010 20:39 |
Метод быстрой сортировки | Nord18 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 05.06.2010 11:24 |
сортировка массива Методом Хоара (быстрой сортировкой) | wild-weight | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 26.09.2009 16:46 |