Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Function template adaptive_sort

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Function template adaptive_sort

boost::movelib::adaptive_sort

Synopsis

// In header: <boost/move/algo/adaptive_sort.hpp>

template<typename RandIt, typename Compare> 
  void adaptive_sort(RandIt first, RandIt last, Compare comp, 
                     typename iterator_traits< RandIt >::value_type * uninitialized = 0, 
                     std::size_t uninitialized_len = 0);

Description

Effects: Сортирует элементы в диапазоне [первый, последний] в порядке восхождения согласно сопоставлению фанктора "comp". Тип является стабильным (порядок равных элементов гарантированно сохраняется). Эффективность улучшается, если обеспечивается дополнительное сырьевое хранение.

Запросы:

  • Ранд Он должен соответствовать требованиям ValueSwappable и RandomAccessIterator.

  • Тип выделенного RandIt должен соответствовать требованиям MoveAssignable и MoveConstructible.

Параметры:

  • первый, последний: диапазон элементов для сортировки

  • comp: объект функции сравнения, который возвращается к истине, если первый аргумент заказывается перед вторым.

  • uninitialized, uninitialized_len: сырое хранилище, начинающееся на "uninitialized", способное удерживать "uninitialized_len" элементы типа iterator_traits::value_type. Максимальная производительность достигается, когда uninitialized_len является ceil(std::расстояние(первый, последний)/2).

Throws: Если ком-бросок или конструктор движения, переместите назначение или своп типа отключения RandIt бросает.

Сложность: Всегда K x O(Nxlog(N))) сравнивает и перемещает задания/конструкторы/свапы. Сравнения близки к минимуму даже без дополнительной памяти. Постоянный фактор для перемещения данных минимизируется, когда uninitialized_len является ceil(std::расстояние(первый, последний)/2). Довольно хорошая производительность достигается при ceil(sqrt(std::расстояние(первый, последний))*2.

Caution: Экспериментальная реализация, а не готовый к производству.


PrevUpHomeNext

Статья Function template adaptive_sort раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-04 20:47:42/0.005774974822998/0