ОБСУЖДЕНИЕ

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

3 ответов 4,5 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

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

Вложения

  • main.cpp
    main.cpp
    3,5 КБ · Просмотры: 470
Так если используешь стандартную библиотеку, то вместо массивов используй контейнер vector.
 
Вообще говоря, проблема у тебя в переполнении стека из-за его очень нерационального использования. Размер стека по-умолчанию, если я не ошибаюсь, 1 МБ, а ты пытаешься в него всунуть более полутора.
Решения следующие:
1 - динамически выделять память для массивов v1 - v4 (не самый лучший выход)
2 - Инициализировать массив v и объявить v1. Далее, перед каждой сортировкой копировать элементы v в v1 и сортировать v1, при этом v остается не сортированным
 
Для: European
спасибо тебе большое! сделала, работает!
 
Статус
Закрыто для дальнейших ответов.