Проблема с сортировками на С++

  • Автор темы Libertine
  • Дата начала
Статус
Закрыто для дальнейших ответов.
L

Libertine

Гость
#1
Доброго времени суток, проблема такая... Преподаватель сказал отсортировать массив из 100 000 и замерить время за которое сортируется массив. Сортировку нужно сделать пятью способами: 1) стандартной 2) heapsort 3) quicksort 4) shellsort 5) выборкой.
Вроде с горем пополам написала. Откомпилировалась нормально, но при запуске выдаёт ошибку, связанную с каким то исключением. Мне срочно нужно её сдавать. Но я не знаю в чём проблема :( Будьте добры, помогите! Пишу на Borland C++ (консольное приложение). Прикрепляю исходник программки. Там heapsort сделана с классом, исходник этой сортировки брала в инете. Но классы мы ещё не проходили. И не могли бы вы ещё подсказать как сделать без класса?
Заранее миллион спасибо!
 

Вложения

  • 3.5 КБ Просмотры: 42
04.09.2006
2 566
2
Минск
#2
Так если используешь стандартную библиотеку, то вместо массивов используй контейнер vector.
 
04.09.2006
2 566
2
Минск
#3
Вообще говоря, проблема у тебя в переполнении стека из-за его очень нерационального использования. Размер стека по-умолчанию, если я не ошибаюсь, 1 МБ, а ты пытаешься в него всунуть более полутора.
Решения следующие:
1 - динамически выделять память для массивов v1 - v4 (не самый лучший выход)
2 - Инициализировать массив v и объявить v1. Далее, перед каждой сортировкой копировать элементы v в v1 и сортировать v1, при этом v остается не сортированным
 
L

Libertine

Гость
#4
Для: European
спасибо тебе большое! сделала, работает!
 
Статус
Закрыто для дальнейших ответов.