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

Function template reverse_string_sort

Boost , Boost.Sort , Header <boost/sort/spreadsort/string_sort.hpp>

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 reverse_string_sort

boost::sort::spreadsort::reverse_string_sort — String sort algorithm using random access iterators, allowing character-type overloads.

Synopsis

// In header: <boost/sort/spreadsort/string_sort.hpp>

template<typename RandomAccessIter, typename Compare, 
         typename Unsigned_char_type> 
  void reverse_string_sort(RandomAccessIter first, RandomAccessIter last, 
                           Compare comp, Unsigned_char_type unused);

Description

(Все варианты возвращаются к std::sort, если размер данных слишком мал, < detail::min_sort_size).

integer_sort is a fast templated in-place hybrid radix/comparison algorithm, which in testing tends to be roughly 50% to 2X faster than std::sort for large tests (>=100kB).
Worst-case performance is O(N * (lg(range)/s + s)) , so integer_sort is asymptotically faster than pure comparison-based algorithms. s is max_splits, which defaults to 11, so its worst-case with default settings for 32-bit integers is O(N * ((32/11) slow radix-based iterations fast comparison-based iterations).

Some performance plots of runtime vs. n and log(range) are provided:
windows_integer_sort
osx_integer_sort

[Warning]Warning

Исключение может привести к потере данных. Это также будет бросаться, если небольшой вектор переназначит броски, в этом случае не будет потери данных.

Неверные аргументы вызывают неопределенное поведение.

[Note]Note

функция spreadsort предоставляет обертку, которая называет наиболее быстрый алгоритм сортировки, доступный для типа данных, что позволяет быстрее программировать генерики.

Меньшее O(N*log(N)) сравнения и O(N*log(K/S + S))

* N last - first,

* K - это журнал диапазона в битах (32 для 32-битных целых чисел с использованием их полного диапазона),

* S является константой, называемой max_splits, по умолчанию до 11 (за исключением строк, где это журнал размера персонажа).

Параметры:

comp

comp

[ORIG_END] -->

бинарный фанктор, который возвращает, должен ли первый элемент, переданный ему, идти до второго в порядке.

первый

Указатель указывает на первый элемент.

last

Указатель, указывающий на один за пределами данных.

неиспользуемые

значение с тем же типом, что и результат [] оператора, определяющее тип Unsigned_char_. Фактическое значение не используется.

Параметры шаблона:

RandomAccessIter

Random доступ к итератору

Unsigned_char_type

Неподписанный тип символов, используемый для строки.

Запросы:

RandomAccessIter value_type является мягким.

RandomAccessIter value_type является LessThanComparable

RandomAccessIter value_type поддерживает operator>>, который возвращает целочисленное число битов.

RandomAccessIter value_type is mutable.

RandomAccessIter value_type is LessThanComparable

RandomAccessIter value_type supports the operator>>, which returns an integer-type right-shifted a specified number of bits.

[ORIG_END] -->

Условия:

Элементы в диапазоне [первая, последняя) отсортированы в порядке восхождения.

Возвращение:

void.

Throws:

std:: Исключение Пропагандирует исключения, если какой-либо элемент сравнивает, элемент сменяет (или перемещает), правильный сдвиг, вычитание правых смещенных элементов, фанкторы или любые операции на итераторах.

PrevUpHomeNext

Статья Function template reverse_string_sort раздела Boost.Sort Header <boost/sort/spreadsort/string_sort.hpp> может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Header <boost/sort/spreadsort/string_sort.hpp> ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 21:51:45/0.0088310241699219/1