Ошибка сегментации при быстрой сортировкеC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Ошибка сегментации при быстрой сортировке

Сообщение Гость »


Мне нужно реализовать быструю сортировку моего университетского задания. Ниже приведена реализация быстрой сортировки, которую я написал на C++:
#include #include #include #include шаблон void fast_forward_order(T(&container), std::size_t Lower_bound = std::size_t(0), std::size_t Upper_bound = S - 1) { если (нижняя_ граница >= верхняя_ граница) { возвращаться; } // Выбор последнего элемента в качестве опорного const T& Pivot_element = контейнер[upper_bound]; std::size_t rhs_pointer = Upper_bound; std::size_t lhs_pointer = low_bound; в то время как (lhs_pointer < rhs_pointer) { while(container[lhs_pointer] lhs_pointer) { --rhs_pointer; } станд::своп( контейнер[lhs_pointer], контейнер[rhs_pointer] ); } станд::своп( контейнер[lhs_pointer], контейнер[upper_bound] ); Quick_forward_order (контейнер, нижняя граница, lhs_pointer - 1); Quick_forward_order (контейнер, lhs_pointer + 1, Upper_bound); }; шаблон void fast_reverse_order(T(&container), std::size_t Lower_bound = std::size_t(0), std::size_t Upper_bound = S - 1) { если (нижняя_ граница >= верхняя_ граница) { возвращаться; } // Выбор последнего элемента в качестве опорного const T& Pivot_element = контейнер[upper_bound]; std::size_t rhs_pointer = Upper_bound; std::size_t lhs_pointer = low_bound; в то время как (lhs_pointer < rhs_pointer) { while(container[lhs_pointer] >= Pivot_element && lhs_pointer
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»