Сортировка действительно больших массивов - проблема? - PullRequest
0 голосов
/ 04 марта 2011

Я работал над программой, которая сравнивает время выполнения различных алгоритмов сортировки в C ++ (до сих пор я выполнял сортировку кучи, сортировку по пузырькам, сортировку по вставкам и сортировку выборок). Для расчета времени я использую массивы разных размеров, то есть 10000, 100000, 500000, 1000000 и 10000000.

Когда я запускаю его, все работает нормально, пока я не начну тестировать большие массивы. Для первых 3 массивов я получаю ожидаемые результаты, но затем программа продолжает аварийно завершать работу, когда я запускаю последние 2. Поэтому мой вопрос: если проблема в коде, не все ли будут аварийно завершать работу? это может быть проблема управления памятью? любая помощь или идеи о том, что может быть не так, будет принята с благодарностью.

Это http://pastebin.com/HCakminT - мой код для класса драйвера, который вызывает другие, в данном конкретном примере сортировку кучи и сортировку по пузырькам.

Спасибо:)

1 Ответ

1 голос
/ 04 марта 2011

Не видя программы, сложно точно предсказать, что происходит.Но первый вопрос прост.Существует много причин, по которым ваша программа может ошибаться, и некоторые из них могут вызвать сбой только с 1 000 000 элементов или более.Например, если бы вы жестко закодировали выделение памяти из 999,999 элементов, вы бы не увидели сбой с 500 000 элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...