![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Rocket |
![]()
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Возникла проблема с сортировкой, суть которой заключается в следующем:
допустим, наш изначальный массив 3 7 4 1 8 3 3 5 9 1. Строится бинарное дерево, на следующий уровень идут 3 1 3 3 1, то есть соседние числа сравниваются, дальше идет наименьший элемент. Следующие уровни: 1 3 1, 1 1 1 В конце остаётся 1, она отправляется в отсортированный массив (в данном случае на первое место), а из начального массива отбрасывается (заменяется на бесконечность). Вобщем, в этом суть, преподаватель назвал его "турнирной" сортировкой, но это явно не "пирамидальная-турнирная-HeapSort" сортировка, преведённая на форуме. Вот мой код:
Тестировал я её на масивах в 10 элементов, всё четко работало и работает, а вот, когда перешёл к практике(массив в 100 элементов), возникла ошибка - тупо выкидывает из программы... в чём проблема? |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата пользуюсь Dev- C++, как тут компилятор узнать? С большой степенью вероятности - GCC, у меня тоже он же, только через Code::Blocks... Можно попробовать использовать Borland BGI Graphics emulation , я уже как-то давал эту ссылку здесь, на этом форуме, вроде сказали, что работает.А гистограмма.... Ну, вот так: int main() {(не стал заморачиваться с динамическим выделением памяти, сделал просто очень большой массив, которого заведомо хватит), хотя очень может быть, что при быстром компьютере все times будут нулевыми, и получишь проблему при делении на 0. Тогда придется искать более точный способ засечь время... |
Rocket |
![]()
Сообщение
#3
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
очень может быть, что при быстром компьютере все times будут нулевыми, и получишь проблему при делении на 0. Тогда придется искать более точный способ засечь время... Да, компьютер оказался быстрым - увеличил число элементов в 10 раз. А гистограмма очень хорошо смотрится, думаю подойдёт) ещё раз спасибо! ![]() |
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 18:04 |