# balanced_quicksort.h File Reference

## Detailed Description

Implementation of a dynamically load-balanced parallel quicksort.

It works in-place and needs only logarithmic extra memory. The algorithm is similar to the one proposed in

P. Tsigas and Y. Zhang. A simple, fast parallel implementation of quicksort and its performance evaluation on SUN enterprise 10000. In 11th Euromicro Conference on Parallel, Distributed and Network-Based Processing, page 372, 2003.

This file is a GNU parallel extension to the Standard C++ Library.

Definition in file balanced_quicksort.h.

Go to the source code of this file.

## Namespaces

- namespace __gnu_parallel

## Classes

- struct __gnu_parallel::QSBThreadLocal< RandomAccessIterator >
    Information local to one thread in the parallel quicksort run. More...

## Defines

- #define _GLIBCXX_PARALLEL_BAL_QUICKSORT_H

## Functions

- template<typename RandomAccessIterator, typename Comparator> void __gnu_parallel::parallel_sort_qsb (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp, typename std::iterator_traits< RandomAccessIterator >::difference_type n, thread_index_t num_threads)
- template<typename RandomAccessIterator, typename Comparator> void __gnu_parallel::qsb_conquer (QSBThreadLocal< RandomAccessIterator > **tls, RandomAccessIterator begin, RandomAccessIterator end, Comparator comp, thread_index_t iam, thread_index_t num_threads, bool parent_wait)
- template<typename RandomAccessIterator, typename Comparator> std::iterator_traits< RandomAccessIterator
  >::difference_type __gnu_parallel::qsb_divide (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp, thread_index_t num_threads)
- template<typename RandomAccessIterator, typename Comparator> void __gnu_parallel::qsb_local_sort_with_helping (QSBThreadLocal< RandomAccessIterator > **tls, Comparator &comp, int iam, bool wait)