Function sort
boost::compute::sort
Synopsis
template<typename Iterator, typename Compare>
void sort(Iterator first, Iterator last, Compare compare,
command_queue & queue = system::default_queue());
template<typename Iterator>
void sort(Iterator first, Iterator last,
command_queue & queue = system::default_queue());
Description
Сортирует значения в диапазоне<first
>,<last
>по<compare
>.
Например, для сортировки вектора на устройстве:
float data[] = { 2.f, 4.f, 1.f, 3.f };
boost::compute::vector<float> vec(data, data + 4, queue);
boost::compute::sort(vec.begin(), vec.end(), queue);
Алгоритм типа() также может быть непосредственно использован с итераторами хоста. Этот пример будет автоматически передавать данные на устройство, сортировать их, а затем передавать данные обратно на хост:
std::vector<int> data = { 9, 3, 2, 5, 1, 4, 6, 7 };
boost::compute::sort(data.begin(), data.end(), queue);
См. также:
is_sorted()
Параметры: | <compare > | функция сравнения (по умолчанию<less >) | <first > | Первый элемент в диапазоне для сортировки | <last > | последний элемент в диапазоне для сортировки | <queue > | командная очередь для выполнения операции |
|